/**
 * The MIT License (MIT)
 *
 * Copyright (c) 2018-2019 Erik Moqvist
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use, copy,
 * modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

/**
 * This file was generated by cantools version 39.4.5 Tue Mar 12 14:27:33 2024.
 */

#include <string.h>

#include "mc1_cr.h"

static inline uint8_t pack_left_shift_u8(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value << shift) & mask);
}

static inline uint8_t pack_left_shift_u16(
    uint16_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value << shift) & mask);
}

static inline uint8_t pack_left_shift_u32(
    uint32_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value << shift) & mask);
}

static inline uint8_t pack_right_shift_u8(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value >> shift) & mask);
}

static inline uint8_t pack_right_shift_u16(
    uint16_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value >> shift) & mask);
}

static inline uint8_t pack_right_shift_u32(
    uint32_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value >> shift) & mask);
}

static inline uint8_t unpack_left_shift_u8(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value & mask) << shift);
}

static inline uint16_t unpack_left_shift_u16(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint16_t)((uint16_t)(value & mask) << shift);
}

static inline uint32_t unpack_left_shift_u32(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint32_t)((uint32_t)(value & mask) << shift);
}

static inline uint8_t unpack_right_shift_u8(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint8_t)((uint8_t)(value & mask) >> shift);
}

static inline uint16_t unpack_right_shift_u16(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint16_t)((uint16_t)(value & mask) >> shift);
}

static inline uint32_t unpack_right_shift_u32(
    uint8_t value,
    uint8_t shift,
    uint8_t mask)
{
    return (uint32_t)((uint32_t)(value & mask) >> shift);
}

int mc1_cr_rs_status_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_status_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_failure, 7u, 0x80u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_interference, 6u, 0x40u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_blkg, 5u, 0x20u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_mis_align, 2u, 0x1cu);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_warn_rcw, 0u, 0x03u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_bsd, 6u, 0xc0u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_lca, 4u, 0x30u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_sdo, 2u, 0x0cu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_rcta, 0u, 0x03u);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_latency, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_msg_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_msg_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_status_fl_unpack(
    struct mc1_cr_rs_status_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_sts_failure = unpack_right_shift_u8(src_p[0], 7u, 0x80u);
    dst_p->rs_sts_interference = unpack_right_shift_u8(src_p[0], 6u, 0x40u);
    dst_p->rs_sts_blkg = unpack_right_shift_u8(src_p[0], 5u, 0x20u);
    dst_p->rs_sts_mis_align = unpack_right_shift_u8(src_p[0], 2u, 0x1cu);
    dst_p->rs_warn_rcw = unpack_right_shift_u8(src_p[0], 0u, 0x03u);
    dst_p->rs_warn_bsd = unpack_right_shift_u8(src_p[1], 6u, 0xc0u);
    dst_p->rs_warn_lca = unpack_right_shift_u8(src_p[1], 4u, 0x30u);
    dst_p->rs_warn_sdo = unpack_right_shift_u8(src_p[1], 2u, 0x0cu);
    dst_p->rs_warn_rcta = unpack_right_shift_u8(src_p[1], 0u, 0x03u);
    dst_p->rs_latency = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->rs_msg_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_msg_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_status_fl_init(struct mc1_cr_rs_status_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_status_fl_t));

    return 0;
}

uint8_t mc1_cr_rs_status_fl_rs_sts_failure_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_sts_failure_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_sts_failure_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fl_rs_sts_interference_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_sts_interference_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_sts_interference_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fl_rs_sts_blkg_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_sts_blkg_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_sts_blkg_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fl_rs_sts_mis_align_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_sts_mis_align_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_sts_mis_align_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint8_t mc1_cr_rs_status_fl_rs_warn_rcw_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_warn_rcw_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_warn_rcw_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fl_rs_warn_bsd_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_warn_bsd_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_warn_bsd_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fl_rs_warn_lca_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_warn_lca_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_warn_lca_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fl_rs_warn_sdo_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_warn_sdo_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_warn_sdo_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fl_rs_warn_rcta_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_warn_rcta_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_warn_rcta_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fl_rs_latency_encode(double value)
{
    return (uint8_t)(value / 0.005);
}

double mc1_cr_rs_status_fl_rs_latency_decode(uint8_t value)
{
    return ((double)value * 0.005);
}

bool mc1_cr_rs_status_fl_rs_latency_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_status_fl_rs_msg_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_msg_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_msg_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_status_fl_rs_msg_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fl_rs_msg_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fl_rs_msg_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_status_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_status_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_failure, 7u, 0x80u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_interference, 6u, 0x40u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_blkg, 5u, 0x20u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_mis_align, 2u, 0x1cu);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_warn_rcw, 0u, 0x03u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_bsd, 6u, 0xc0u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_lca, 4u, 0x30u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_sdo, 2u, 0x0cu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_rcta, 0u, 0x03u);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_latency, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_msg_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_msg_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_status_rl_unpack(
    struct mc1_cr_rs_status_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_sts_failure = unpack_right_shift_u8(src_p[0], 7u, 0x80u);
    dst_p->rs_sts_interference = unpack_right_shift_u8(src_p[0], 6u, 0x40u);
    dst_p->rs_sts_blkg = unpack_right_shift_u8(src_p[0], 5u, 0x20u);
    dst_p->rs_sts_mis_align = unpack_right_shift_u8(src_p[0], 2u, 0x1cu);
    dst_p->rs_warn_rcw = unpack_right_shift_u8(src_p[0], 0u, 0x03u);
    dst_p->rs_warn_bsd = unpack_right_shift_u8(src_p[1], 6u, 0xc0u);
    dst_p->rs_warn_lca = unpack_right_shift_u8(src_p[1], 4u, 0x30u);
    dst_p->rs_warn_sdo = unpack_right_shift_u8(src_p[1], 2u, 0x0cu);
    dst_p->rs_warn_rcta = unpack_right_shift_u8(src_p[1], 0u, 0x03u);
    dst_p->rs_latency = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->rs_msg_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_msg_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_status_rl_init(struct mc1_cr_rs_status_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_status_rl_t));

    return 0;
}

uint8_t mc1_cr_rs_status_rl_rs_sts_failure_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_sts_failure_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_sts_failure_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rl_rs_sts_interference_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_sts_interference_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_sts_interference_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rl_rs_sts_blkg_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_sts_blkg_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_sts_blkg_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rl_rs_sts_mis_align_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_sts_mis_align_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_sts_mis_align_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint8_t mc1_cr_rs_status_rl_rs_warn_rcw_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_warn_rcw_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_warn_rcw_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rl_rs_warn_bsd_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_warn_bsd_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_warn_bsd_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rl_rs_warn_lca_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_warn_lca_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_warn_lca_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rl_rs_warn_sdo_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_warn_sdo_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_warn_sdo_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rl_rs_warn_rcta_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_warn_rcta_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_warn_rcta_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rl_rs_latency_encode(double value)
{
    return (uint8_t)(value / 0.005);
}

double mc1_cr_rs_status_rl_rs_latency_decode(uint8_t value)
{
    return ((double)value * 0.005);
}

bool mc1_cr_rs_status_rl_rs_latency_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_status_rl_rs_msg_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_msg_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_msg_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_status_rl_rs_msg_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rl_rs_msg_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rl_rs_msg_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_status_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_status_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_failure, 7u, 0x80u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_interference, 6u, 0x40u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_blkg, 5u, 0x20u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_mis_align, 2u, 0x1cu);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_warn_rcw, 0u, 0x03u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_bsd, 6u, 0xc0u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_lca, 4u, 0x30u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_sdo, 2u, 0x0cu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_rcta, 0u, 0x03u);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_latency, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_msg_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_msg_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_status_fr_unpack(
    struct mc1_cr_rs_status_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_sts_failure = unpack_right_shift_u8(src_p[0], 7u, 0x80u);
    dst_p->rs_sts_interference = unpack_right_shift_u8(src_p[0], 6u, 0x40u);
    dst_p->rs_sts_blkg = unpack_right_shift_u8(src_p[0], 5u, 0x20u);
    dst_p->rs_sts_mis_align = unpack_right_shift_u8(src_p[0], 2u, 0x1cu);
    dst_p->rs_warn_rcw = unpack_right_shift_u8(src_p[0], 0u, 0x03u);
    dst_p->rs_warn_bsd = unpack_right_shift_u8(src_p[1], 6u, 0xc0u);
    dst_p->rs_warn_lca = unpack_right_shift_u8(src_p[1], 4u, 0x30u);
    dst_p->rs_warn_sdo = unpack_right_shift_u8(src_p[1], 2u, 0x0cu);
    dst_p->rs_warn_rcta = unpack_right_shift_u8(src_p[1], 0u, 0x03u);
    dst_p->rs_latency = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->rs_msg_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_msg_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_status_fr_init(struct mc1_cr_rs_status_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_status_fr_t));

    return 0;
}

uint8_t mc1_cr_rs_status_fr_rs_sts_failure_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_sts_failure_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_sts_failure_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fr_rs_sts_interference_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_sts_interference_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_sts_interference_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fr_rs_sts_blkg_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_sts_blkg_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_sts_blkg_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_fr_rs_sts_mis_align_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_sts_mis_align_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_sts_mis_align_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint8_t mc1_cr_rs_status_fr_rs_warn_rcw_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_warn_rcw_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_warn_rcw_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fr_rs_warn_bsd_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_warn_bsd_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_warn_bsd_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fr_rs_warn_lca_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_warn_lca_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_warn_lca_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fr_rs_warn_sdo_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_warn_sdo_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_warn_sdo_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fr_rs_warn_rcta_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_warn_rcta_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_warn_rcta_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_fr_rs_latency_encode(double value)
{
    return (uint8_t)(value / 0.005);
}

double mc1_cr_rs_status_fr_rs_latency_decode(uint8_t value)
{
    return ((double)value * 0.005);
}

bool mc1_cr_rs_status_fr_rs_latency_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_status_fr_rs_msg_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_msg_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_msg_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_status_fr_rs_msg_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_fr_rs_msg_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_fr_rs_msg_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_fd_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_fd_rl_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 64);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);
    dst_p[8] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[9] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_heading, 1u, 0xfeu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[11] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[12] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[12] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[13] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[13] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[15] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);
    dst_p[16] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[17] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[18] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[19] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[20] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[23] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);
    dst_p[24] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[25] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);
    dst_p[32] |= pack_right_shift_u16(src_p->rs_obj01_id, 5u, 0xffu);
    dst_p[33] |= pack_left_shift_u16(src_p->rs_obj01_id, 3u, 0xf8u);
    dst_p[33] |= pack_left_shift_u8(src_p->rs_obj01_motion_pattern, 0u, 0x07u);
    dst_p[34] |= pack_right_shift_u16(src_p->rs_obj01_x_pos, 6u, 0xffu);
    dst_p[35] |= pack_left_shift_u16(src_p->rs_obj01_x_pos, 2u, 0xfcu);
    dst_p[35] |= pack_left_shift_u8(src_p->rs_obj01_elev_class, 0u, 0x03u);
    dst_p[36] |= pack_right_shift_u16(src_p->rs_obj01_y_pos, 6u, 0xffu);
    dst_p[37] |= pack_left_shift_u16(src_p->rs_obj01_y_pos, 2u, 0xfcu);
    dst_p[37] |= pack_left_shift_u8(src_p->rs_obj01_elev_conf, 0u, 0x03u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_msg01_alive_counter, 4u, 0xf0u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_type, 2u, 0x0cu);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_valid_flag, 1u, 0x02u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_meas_flag, 0u, 0x01u);
    dst_p[39] |= pack_left_shift_u8(src_p->rs_obj01_msg01_check_sum, 0u, 0xffu);
    dst_p[40] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_absolute, 0u, 0xffu);
    dst_p[41] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_absolute, 0u, 0xffu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_heading, 1u, 0xfeu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_ctrk_ind, 0u, 0x01u);
    dst_p[43] |= pack_right_shift_u16(src_p->rs_obj01_x_vel_absolute, 3u, 0xffu);
    dst_p[44] |= pack_left_shift_u16(src_p->rs_obj01_x_vel_absolute, 5u, 0xe0u);
    dst_p[44] |= pack_right_shift_u16(src_p->rs_obj01_y_vel_absolute, 6u, 0x1fu);
    dst_p[45] |= pack_left_shift_u16(src_p->rs_obj01_y_vel_absolute, 2u, 0xfcu);
    dst_p[45] |= pack_right_shift_u8(src_p->rs_obj01_classconf, 4u, 0x03u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_classconf, 4u, 0xf0u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_msg02_alive_counter, 0u, 0x0fu);
    dst_p[47] |= pack_left_shift_u8(src_p->rs_obj01_msg02_check_sum, 0u, 0xffu);
    dst_p[48] |= pack_left_shift_u8(src_p->rs_obj01_x_pos_stdev, 2u, 0xfcu);
    dst_p[49] |= pack_left_shift_u8(src_p->rs_obj01_y_pos_stdev, 2u, 0xfcu);
    dst_p[50] |= pack_left_shift_u8(src_p->rs_obj01_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[51] |= pack_left_shift_u8(src_p->rs_obj01_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[52] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_right_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0x03u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0xf0u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_msg03_alive_counter, 0u, 0x0fu);
    dst_p[55] |= pack_left_shift_u8(src_p->rs_obj01_msg03_check_sum, 0u, 0xffu);
    dst_p[56] |= pack_left_shift_u8(src_p->rs_obj01_length, 0u, 0xffu);
    dst_p[57] |= pack_left_shift_u8(src_p->rs_obj01_width, 0u, 0xffu);

    return (64);
}

int mc1_cr_rs_obj_fd_rl_unpack(
    struct mc1_cr_rs_obj_fd_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);
    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[8], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[9], 0u, 0xffu);
    dst_p->rs_obj00_heading = unpack_right_shift_u8(src_p[10], 1u, 0xfeu);
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[10], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[11], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[12], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[12], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[13], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[13], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[14], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[14], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[15], 0u, 0xffu);
    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[16], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[17], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[18], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[19], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[20], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[21], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[21], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[22], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[22], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[23], 0u, 0xffu);
    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[24], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[25], 0u, 0xffu);
    dst_p->rs_obj01_id = unpack_left_shift_u16(src_p[32], 5u, 0xffu);
    dst_p->rs_obj01_id |= unpack_right_shift_u16(src_p[33], 3u, 0xf8u);
    dst_p->rs_obj01_motion_pattern = unpack_right_shift_u8(src_p[33], 0u, 0x07u);
    dst_p->rs_obj01_x_pos = unpack_left_shift_u16(src_p[34], 6u, 0xffu);
    dst_p->rs_obj01_x_pos |= unpack_right_shift_u16(src_p[35], 2u, 0xfcu);
    dst_p->rs_obj01_elev_class = unpack_right_shift_u8(src_p[35], 0u, 0x03u);
    dst_p->rs_obj01_y_pos = unpack_left_shift_u16(src_p[36], 6u, 0xffu);
    dst_p->rs_obj01_y_pos |= unpack_right_shift_u16(src_p[37], 2u, 0xfcu);
    dst_p->rs_obj01_elev_conf = unpack_right_shift_u8(src_p[37], 0u, 0x03u);
    dst_p->rs_obj01_msg01_alive_counter = unpack_right_shift_u8(src_p[38], 4u, 0xf0u);
    dst_p->rs_obj01_type = unpack_right_shift_u8(src_p[38], 2u, 0x0cu);
    dst_p->rs_obj01_valid_flag = unpack_right_shift_u8(src_p[38], 1u, 0x02u);
    dst_p->rs_obj01_meas_flag = unpack_right_shift_u8(src_p[38], 0u, 0x01u);
    dst_p->rs_obj01_msg01_check_sum = unpack_right_shift_u8(src_p[39], 0u, 0xffu);
    dst_p->rs_obj01_x_acc_absolute = unpack_right_shift_u8(src_p[40], 0u, 0xffu);
    dst_p->rs_obj01_y_acc_absolute = unpack_right_shift_u8(src_p[41], 0u, 0xffu);
    dst_p->rs_obj01_heading = unpack_right_shift_u8(src_p[42], 1u, 0xfeu);
    dst_p->rs_obj01_ctrk_ind = unpack_right_shift_u8(src_p[42], 0u, 0x01u);
    dst_p->rs_obj01_x_vel_absolute = unpack_left_shift_u16(src_p[43], 3u, 0xffu);
    dst_p->rs_obj01_x_vel_absolute |= unpack_right_shift_u16(src_p[44], 5u, 0xe0u);
    dst_p->rs_obj01_y_vel_absolute = unpack_left_shift_u16(src_p[44], 6u, 0x1fu);
    dst_p->rs_obj01_y_vel_absolute |= unpack_right_shift_u16(src_p[45], 2u, 0xfcu);
    dst_p->rs_obj01_classconf = unpack_left_shift_u8(src_p[45], 4u, 0x03u);
    dst_p->rs_obj01_classconf |= unpack_right_shift_u8(src_p[46], 4u, 0xf0u);
    dst_p->rs_obj01_msg02_alive_counter = unpack_right_shift_u8(src_p[46], 0u, 0x0fu);
    dst_p->rs_obj01_msg02_check_sum = unpack_right_shift_u8(src_p[47], 0u, 0xffu);
    dst_p->rs_obj01_x_pos_stdev = unpack_right_shift_u8(src_p[48], 2u, 0xfcu);
    dst_p->rs_obj01_y_pos_stdev = unpack_right_shift_u8(src_p[49], 2u, 0xfcu);
    dst_p->rs_obj01_x_vel_rel_stdev = unpack_right_shift_u8(src_p[50], 2u, 0xfcu);
    dst_p->rs_obj01_y_vel_rel_stdev = unpack_right_shift_u8(src_p[51], 2u, 0xfcu);
    dst_p->rs_obj01_x_acc_rel_stdev = unpack_right_shift_u8(src_p[52], 2u, 0xfcu);
    dst_p->rs_obj01_y_acc_rel_stdev = unpack_right_shift_u8(src_p[53], 2u, 0xfcu);
    dst_p->rs_obj01_exst_prob = unpack_left_shift_u8(src_p[53], 4u, 0x03u);
    dst_p->rs_obj01_exst_prob |= unpack_right_shift_u8(src_p[54], 4u, 0xf0u);
    dst_p->rs_obj01_msg03_alive_counter = unpack_right_shift_u8(src_p[54], 0u, 0x0fu);
    dst_p->rs_obj01_msg03_check_sum = unpack_right_shift_u8(src_p[55], 0u, 0xffu);
    dst_p->rs_obj01_length = unpack_right_shift_u8(src_p[56], 0u, 0xffu);
    dst_p->rs_obj01_width = unpack_right_shift_u8(src_p[57], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_fd_rl_init(struct mc1_cr_rs_obj_fd_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_fd_rl_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;
    msg_p->rs_obj01_id = 8191;
    msg_p->rs_obj01_motion_pattern = 0;
    msg_p->rs_obj01_x_pos = 8193;
    msg_p->rs_obj01_elev_class = 0;
    msg_p->rs_obj01_y_pos = 8193;
    msg_p->rs_obj01_elev_conf = 0;
    msg_p->rs_obj01_type = 0;
    msg_p->rs_obj01_valid_flag = 0;
    msg_p->rs_obj01_meas_flag = 1;
    msg_p->rs_obj01_x_acc_absolute = 0;
    msg_p->rs_obj01_y_acc_absolute = 0;
    msg_p->rs_obj01_ctrk_ind = 0;
    msg_p->rs_obj01_x_vel_absolute = 0;
    msg_p->rs_obj01_y_vel_absolute = 0;

    return 0;
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj01_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rl_rs_obj01_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rl_rs_obj01_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rl_rs_obj01_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_fd_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_fd_fr_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 64);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);
    dst_p[8] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[9] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_heading, 1u, 0xfeu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[11] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[12] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[12] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[13] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[13] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[15] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);
    dst_p[16] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[17] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[18] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[19] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[20] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[23] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);
    dst_p[24] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[25] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);
    dst_p[32] |= pack_right_shift_u16(src_p->rs_obj01_id, 5u, 0xffu);
    dst_p[33] |= pack_left_shift_u16(src_p->rs_obj01_id, 3u, 0xf8u);
    dst_p[33] |= pack_left_shift_u8(src_p->rs_obj01_motion_pattern, 0u, 0x07u);
    dst_p[34] |= pack_right_shift_u16(src_p->rs_obj01_x_pos, 6u, 0xffu);
    dst_p[35] |= pack_left_shift_u16(src_p->rs_obj01_x_pos, 2u, 0xfcu);
    dst_p[35] |= pack_left_shift_u8(src_p->rs_obj01_elev_class, 0u, 0x03u);
    dst_p[36] |= pack_right_shift_u16(src_p->rs_obj01_y_pos, 6u, 0xffu);
    dst_p[37] |= pack_left_shift_u16(src_p->rs_obj01_y_pos, 2u, 0xfcu);
    dst_p[37] |= pack_left_shift_u8(src_p->rs_obj01_elev_conf, 0u, 0x03u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_msg01_alive_counter, 4u, 0xf0u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_type, 2u, 0x0cu);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_valid_flag, 1u, 0x02u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_meas_flag, 0u, 0x01u);
    dst_p[39] |= pack_left_shift_u8(src_p->rs_obj01_msg01_check_sum, 0u, 0xffu);
    dst_p[40] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_absolute, 0u, 0xffu);
    dst_p[41] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_absolute, 0u, 0xffu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_heading, 1u, 0xfeu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_ctrk_ind, 0u, 0x01u);
    dst_p[43] |= pack_right_shift_u16(src_p->rs_obj01_x_vel_absolute, 3u, 0xffu);
    dst_p[44] |= pack_left_shift_u16(src_p->rs_obj01_x_vel_absolute, 5u, 0xe0u);
    dst_p[44] |= pack_right_shift_u16(src_p->rs_obj01_y_vel_absolute, 6u, 0x1fu);
    dst_p[45] |= pack_left_shift_u16(src_p->rs_obj01_y_vel_absolute, 2u, 0xfcu);
    dst_p[45] |= pack_right_shift_u8(src_p->rs_obj01_classconf, 4u, 0x03u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_classconf, 4u, 0xf0u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_msg02_alive_counter, 0u, 0x0fu);
    dst_p[47] |= pack_left_shift_u8(src_p->rs_obj01_msg02_check_sum, 0u, 0xffu);
    dst_p[48] |= pack_left_shift_u8(src_p->rs_obj01_x_pos_stdev, 2u, 0xfcu);
    dst_p[49] |= pack_left_shift_u8(src_p->rs_obj01_y_pos_stdev, 2u, 0xfcu);
    dst_p[50] |= pack_left_shift_u8(src_p->rs_obj01_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[51] |= pack_left_shift_u8(src_p->rs_obj01_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[52] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_right_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0x03u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0xf0u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_msg03_alive_counter, 0u, 0x0fu);
    dst_p[55] |= pack_left_shift_u8(src_p->rs_obj01_msg03_check_sum, 0u, 0xffu);
    dst_p[56] |= pack_left_shift_u8(src_p->rs_obj01_length, 0u, 0xffu);
    dst_p[57] |= pack_left_shift_u8(src_p->rs_obj01_width, 0u, 0xffu);

    return (64);
}

int mc1_cr_rs_obj_fd_fr_unpack(
    struct mc1_cr_rs_obj_fd_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);
    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[8], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[9], 0u, 0xffu);
    dst_p->rs_obj00_heading = unpack_right_shift_u8(src_p[10], 1u, 0xfeu);
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[10], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[11], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[12], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[12], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[13], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[13], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[14], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[14], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[15], 0u, 0xffu);
    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[16], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[17], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[18], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[19], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[20], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[21], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[21], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[22], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[22], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[23], 0u, 0xffu);
    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[24], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[25], 0u, 0xffu);
    dst_p->rs_obj01_id = unpack_left_shift_u16(src_p[32], 5u, 0xffu);
    dst_p->rs_obj01_id |= unpack_right_shift_u16(src_p[33], 3u, 0xf8u);
    dst_p->rs_obj01_motion_pattern = unpack_right_shift_u8(src_p[33], 0u, 0x07u);
    dst_p->rs_obj01_x_pos = unpack_left_shift_u16(src_p[34], 6u, 0xffu);
    dst_p->rs_obj01_x_pos |= unpack_right_shift_u16(src_p[35], 2u, 0xfcu);
    dst_p->rs_obj01_elev_class = unpack_right_shift_u8(src_p[35], 0u, 0x03u);
    dst_p->rs_obj01_y_pos = unpack_left_shift_u16(src_p[36], 6u, 0xffu);
    dst_p->rs_obj01_y_pos |= unpack_right_shift_u16(src_p[37], 2u, 0xfcu);
    dst_p->rs_obj01_elev_conf = unpack_right_shift_u8(src_p[37], 0u, 0x03u);
    dst_p->rs_obj01_msg01_alive_counter = unpack_right_shift_u8(src_p[38], 4u, 0xf0u);
    dst_p->rs_obj01_type = unpack_right_shift_u8(src_p[38], 2u, 0x0cu);
    dst_p->rs_obj01_valid_flag = unpack_right_shift_u8(src_p[38], 1u, 0x02u);
    dst_p->rs_obj01_meas_flag = unpack_right_shift_u8(src_p[38], 0u, 0x01u);
    dst_p->rs_obj01_msg01_check_sum = unpack_right_shift_u8(src_p[39], 0u, 0xffu);
    dst_p->rs_obj01_x_acc_absolute = unpack_right_shift_u8(src_p[40], 0u, 0xffu);
    dst_p->rs_obj01_y_acc_absolute = unpack_right_shift_u8(src_p[41], 0u, 0xffu);
    dst_p->rs_obj01_heading = unpack_right_shift_u8(src_p[42], 1u, 0xfeu);
    dst_p->rs_obj01_ctrk_ind = unpack_right_shift_u8(src_p[42], 0u, 0x01u);
    dst_p->rs_obj01_x_vel_absolute = unpack_left_shift_u16(src_p[43], 3u, 0xffu);
    dst_p->rs_obj01_x_vel_absolute |= unpack_right_shift_u16(src_p[44], 5u, 0xe0u);
    dst_p->rs_obj01_y_vel_absolute = unpack_left_shift_u16(src_p[44], 6u, 0x1fu);
    dst_p->rs_obj01_y_vel_absolute |= unpack_right_shift_u16(src_p[45], 2u, 0xfcu);
    dst_p->rs_obj01_classconf = unpack_left_shift_u8(src_p[45], 4u, 0x03u);
    dst_p->rs_obj01_classconf |= unpack_right_shift_u8(src_p[46], 4u, 0xf0u);
    dst_p->rs_obj01_msg02_alive_counter = unpack_right_shift_u8(src_p[46], 0u, 0x0fu);
    dst_p->rs_obj01_msg02_check_sum = unpack_right_shift_u8(src_p[47], 0u, 0xffu);
    dst_p->rs_obj01_x_pos_stdev = unpack_right_shift_u8(src_p[48], 2u, 0xfcu);
    dst_p->rs_obj01_y_pos_stdev = unpack_right_shift_u8(src_p[49], 2u, 0xfcu);
    dst_p->rs_obj01_x_vel_rel_stdev = unpack_right_shift_u8(src_p[50], 2u, 0xfcu);
    dst_p->rs_obj01_y_vel_rel_stdev = unpack_right_shift_u8(src_p[51], 2u, 0xfcu);
    dst_p->rs_obj01_x_acc_rel_stdev = unpack_right_shift_u8(src_p[52], 2u, 0xfcu);
    dst_p->rs_obj01_y_acc_rel_stdev = unpack_right_shift_u8(src_p[53], 2u, 0xfcu);
    dst_p->rs_obj01_exst_prob = unpack_left_shift_u8(src_p[53], 4u, 0x03u);
    dst_p->rs_obj01_exst_prob |= unpack_right_shift_u8(src_p[54], 4u, 0xf0u);
    dst_p->rs_obj01_msg03_alive_counter = unpack_right_shift_u8(src_p[54], 0u, 0x0fu);
    dst_p->rs_obj01_msg03_check_sum = unpack_right_shift_u8(src_p[55], 0u, 0xffu);
    dst_p->rs_obj01_length = unpack_right_shift_u8(src_p[56], 0u, 0xffu);
    dst_p->rs_obj01_width = unpack_right_shift_u8(src_p[57], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_fd_fr_init(struct mc1_cr_rs_obj_fd_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_fd_fr_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;
    msg_p->rs_obj01_id = 8191;
    msg_p->rs_obj01_motion_pattern = 0;
    msg_p->rs_obj01_x_pos = 8193;
    msg_p->rs_obj01_elev_class = 0;
    msg_p->rs_obj01_y_pos = 8193;
    msg_p->rs_obj01_elev_conf = 0;
    msg_p->rs_obj01_type = 0;
    msg_p->rs_obj01_valid_flag = 0;
    msg_p->rs_obj01_meas_flag = 1;
    msg_p->rs_obj01_x_acc_absolute = 0;
    msg_p->rs_obj01_y_acc_absolute = 0;
    msg_p->rs_obj01_ctrk_ind = 0;
    msg_p->rs_obj01_x_vel_absolute = 0;
    msg_p->rs_obj01_y_vel_absolute = 0;

    return 0;
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj01_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fr_rs_obj01_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fr_rs_obj01_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fr_rs_obj01_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_fd_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_fd_rr_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 64);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);
    dst_p[8] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[9] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_heading, 1u, 0xfeu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[11] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[12] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[12] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[13] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[13] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[15] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);
    dst_p[16] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[17] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[18] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[19] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[20] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[23] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);
    dst_p[24] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[25] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);
    dst_p[32] |= pack_right_shift_u16(src_p->rs_obj01_id, 5u, 0xffu);
    dst_p[33] |= pack_left_shift_u16(src_p->rs_obj01_id, 3u, 0xf8u);
    dst_p[33] |= pack_left_shift_u8(src_p->rs_obj01_motion_pattern, 0u, 0x07u);
    dst_p[34] |= pack_right_shift_u16(src_p->rs_obj01_x_pos, 6u, 0xffu);
    dst_p[35] |= pack_left_shift_u16(src_p->rs_obj01_x_pos, 2u, 0xfcu);
    dst_p[35] |= pack_left_shift_u8(src_p->rs_obj01_elev_class, 0u, 0x03u);
    dst_p[36] |= pack_right_shift_u16(src_p->rs_obj01_y_pos, 6u, 0xffu);
    dst_p[37] |= pack_left_shift_u16(src_p->rs_obj01_y_pos, 2u, 0xfcu);
    dst_p[37] |= pack_left_shift_u8(src_p->rs_obj01_elev_conf, 0u, 0x03u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_msg01_alive_counter, 4u, 0xf0u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_type, 2u, 0x0cu);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_valid_flag, 1u, 0x02u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_meas_flag, 0u, 0x01u);
    dst_p[39] |= pack_left_shift_u8(src_p->rs_obj01_msg01_check_sum, 0u, 0xffu);
    dst_p[40] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_absolute, 0u, 0xffu);
    dst_p[41] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_absolute, 0u, 0xffu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_heading, 1u, 0xfeu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_ctrk_ind, 0u, 0x01u);
    dst_p[43] |= pack_right_shift_u16(src_p->rs_obj01_x_vel_absolute, 3u, 0xffu);
    dst_p[44] |= pack_left_shift_u16(src_p->rs_obj01_x_vel_absolute, 5u, 0xe0u);
    dst_p[44] |= pack_right_shift_u16(src_p->rs_obj01_y_vel_absolute, 6u, 0x1fu);
    dst_p[45] |= pack_left_shift_u16(src_p->rs_obj01_y_vel_absolute, 2u, 0xfcu);
    dst_p[45] |= pack_right_shift_u8(src_p->rs_obj01_classconf, 4u, 0x03u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_classconf, 4u, 0xf0u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_msg02_alive_counter, 0u, 0x0fu);
    dst_p[47] |= pack_left_shift_u8(src_p->rs_obj01_msg02_check_sum, 0u, 0xffu);
    dst_p[48] |= pack_left_shift_u8(src_p->rs_obj01_x_pos_stdev, 2u, 0xfcu);
    dst_p[49] |= pack_left_shift_u8(src_p->rs_obj01_y_pos_stdev, 2u, 0xfcu);
    dst_p[50] |= pack_left_shift_u8(src_p->rs_obj01_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[51] |= pack_left_shift_u8(src_p->rs_obj01_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[52] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_right_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0x03u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0xf0u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_msg03_alive_counter, 0u, 0x0fu);
    dst_p[55] |= pack_left_shift_u8(src_p->rs_obj01_msg03_check_sum, 0u, 0xffu);
    dst_p[56] |= pack_left_shift_u8(src_p->rs_obj01_length, 0u, 0xffu);
    dst_p[57] |= pack_left_shift_u8(src_p->rs_obj01_width, 0u, 0xffu);

    return (64);
}

int mc1_cr_rs_obj_fd_rr_unpack(
    struct mc1_cr_rs_obj_fd_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);
    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[8], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[9], 0u, 0xffu);
    dst_p->rs_obj00_heading = unpack_right_shift_u8(src_p[10], 1u, 0xfeu);
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[10], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[11], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[12], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[12], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[13], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[13], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[14], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[14], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[15], 0u, 0xffu);
    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[16], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[17], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[18], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[19], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[20], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[21], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[21], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[22], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[22], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[23], 0u, 0xffu);
    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[24], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[25], 0u, 0xffu);
    dst_p->rs_obj01_id = unpack_left_shift_u16(src_p[32], 5u, 0xffu);
    dst_p->rs_obj01_id |= unpack_right_shift_u16(src_p[33], 3u, 0xf8u);
    dst_p->rs_obj01_motion_pattern = unpack_right_shift_u8(src_p[33], 0u, 0x07u);
    dst_p->rs_obj01_x_pos = unpack_left_shift_u16(src_p[34], 6u, 0xffu);
    dst_p->rs_obj01_x_pos |= unpack_right_shift_u16(src_p[35], 2u, 0xfcu);
    dst_p->rs_obj01_elev_class = unpack_right_shift_u8(src_p[35], 0u, 0x03u);
    dst_p->rs_obj01_y_pos = unpack_left_shift_u16(src_p[36], 6u, 0xffu);
    dst_p->rs_obj01_y_pos |= unpack_right_shift_u16(src_p[37], 2u, 0xfcu);
    dst_p->rs_obj01_elev_conf = unpack_right_shift_u8(src_p[37], 0u, 0x03u);
    dst_p->rs_obj01_msg01_alive_counter = unpack_right_shift_u8(src_p[38], 4u, 0xf0u);
    dst_p->rs_obj01_type = unpack_right_shift_u8(src_p[38], 2u, 0x0cu);
    dst_p->rs_obj01_valid_flag = unpack_right_shift_u8(src_p[38], 1u, 0x02u);
    dst_p->rs_obj01_meas_flag = unpack_right_shift_u8(src_p[38], 0u, 0x01u);
    dst_p->rs_obj01_msg01_check_sum = unpack_right_shift_u8(src_p[39], 0u, 0xffu);
    dst_p->rs_obj01_x_acc_absolute = unpack_right_shift_u8(src_p[40], 0u, 0xffu);
    dst_p->rs_obj01_y_acc_absolute = unpack_right_shift_u8(src_p[41], 0u, 0xffu);
    dst_p->rs_obj01_heading = unpack_right_shift_u8(src_p[42], 1u, 0xfeu);
    dst_p->rs_obj01_ctrk_ind = unpack_right_shift_u8(src_p[42], 0u, 0x01u);
    dst_p->rs_obj01_x_vel_absolute = unpack_left_shift_u16(src_p[43], 3u, 0xffu);
    dst_p->rs_obj01_x_vel_absolute |= unpack_right_shift_u16(src_p[44], 5u, 0xe0u);
    dst_p->rs_obj01_y_vel_absolute = unpack_left_shift_u16(src_p[44], 6u, 0x1fu);
    dst_p->rs_obj01_y_vel_absolute |= unpack_right_shift_u16(src_p[45], 2u, 0xfcu);
    dst_p->rs_obj01_classconf = unpack_left_shift_u8(src_p[45], 4u, 0x03u);
    dst_p->rs_obj01_classconf |= unpack_right_shift_u8(src_p[46], 4u, 0xf0u);
    dst_p->rs_obj01_msg02_alive_counter = unpack_right_shift_u8(src_p[46], 0u, 0x0fu);
    dst_p->rs_obj01_msg02_check_sum = unpack_right_shift_u8(src_p[47], 0u, 0xffu);
    dst_p->rs_obj01_x_pos_stdev = unpack_right_shift_u8(src_p[48], 2u, 0xfcu);
    dst_p->rs_obj01_y_pos_stdev = unpack_right_shift_u8(src_p[49], 2u, 0xfcu);
    dst_p->rs_obj01_x_vel_rel_stdev = unpack_right_shift_u8(src_p[50], 2u, 0xfcu);
    dst_p->rs_obj01_y_vel_rel_stdev = unpack_right_shift_u8(src_p[51], 2u, 0xfcu);
    dst_p->rs_obj01_x_acc_rel_stdev = unpack_right_shift_u8(src_p[52], 2u, 0xfcu);
    dst_p->rs_obj01_y_acc_rel_stdev = unpack_right_shift_u8(src_p[53], 2u, 0xfcu);
    dst_p->rs_obj01_exst_prob = unpack_left_shift_u8(src_p[53], 4u, 0x03u);
    dst_p->rs_obj01_exst_prob |= unpack_right_shift_u8(src_p[54], 4u, 0xf0u);
    dst_p->rs_obj01_msg03_alive_counter = unpack_right_shift_u8(src_p[54], 0u, 0x0fu);
    dst_p->rs_obj01_msg03_check_sum = unpack_right_shift_u8(src_p[55], 0u, 0xffu);
    dst_p->rs_obj01_length = unpack_right_shift_u8(src_p[56], 0u, 0xffu);
    dst_p->rs_obj01_width = unpack_right_shift_u8(src_p[57], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_fd_rr_init(struct mc1_cr_rs_obj_fd_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_fd_rr_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;
    msg_p->rs_obj01_id = 8191;
    msg_p->rs_obj01_motion_pattern = 0;
    msg_p->rs_obj01_x_pos = 8193;
    msg_p->rs_obj01_elev_class = 0;
    msg_p->rs_obj01_y_pos = 8193;
    msg_p->rs_obj01_elev_conf = 0;
    msg_p->rs_obj01_type = 0;
    msg_p->rs_obj01_valid_flag = 0;
    msg_p->rs_obj01_meas_flag = 1;
    msg_p->rs_obj01_x_acc_absolute = 0;
    msg_p->rs_obj01_y_acc_absolute = 0;
    msg_p->rs_obj01_ctrk_ind = 0;
    msg_p->rs_obj01_x_vel_absolute = 0;
    msg_p->rs_obj01_y_vel_absolute = 0;

    return 0;
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj01_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_rr_rs_obj01_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_rr_rs_obj01_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_rr_rs_obj01_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part04_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part04_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part04_rl_unpack(
    struct mc1_cr_rs_obj_00_part04_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[1], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part04_rl_init(struct mc1_cr_rs_obj_00_part04_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part04_rl_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part04_rl_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_rl_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_rl_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part04_rl_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_rl_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_rl_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part04_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part04_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part04_fr_unpack(
    struct mc1_cr_rs_obj_00_part04_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[1], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part04_fr_init(struct mc1_cr_rs_obj_00_part04_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part04_fr_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part04_fr_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_fr_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_fr_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part04_fr_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_fr_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_fr_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part04_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part04_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part04_rr_unpack(
    struct mc1_cr_rs_obj_00_part04_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[1], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part04_rr_init(struct mc1_cr_rs_obj_00_part04_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part04_rr_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part04_rr_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_rr_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_rr_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part04_rr_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_rr_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_rr_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part03_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part03_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[4] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part03_rl_unpack(
    struct mc1_cr_rs_obj_00_part03_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[0], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[1], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[2], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[4], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part03_rl_init(struct mc1_cr_rs_obj_00_part03_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part03_rl_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rl_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part03_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part03_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[4] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part03_fr_unpack(
    struct mc1_cr_rs_obj_00_part03_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[0], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[1], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[2], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[4], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part03_fr_init(struct mc1_cr_rs_obj_00_part03_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part03_fr_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fr_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part03_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part03_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[4] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part03_rr_unpack(
    struct mc1_cr_rs_obj_00_part03_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[0], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[1], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[2], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[4], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part03_rr_init(struct mc1_cr_rs_obj_00_part03_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part03_rr_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_rr_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part02_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part02_rl_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    rs_obj00_heading = (uint8_t)src_p->rs_obj00_heading;
    dst_p[2] |= pack_left_shift_u8(rs_obj00_heading, 1u, 0xfeu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part02_rl_unpack(
    struct mc1_cr_rs_obj_00_part02_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    rs_obj00_heading = unpack_right_shift_u8(src_p[2], 1u, 0xfeu);

    if ((rs_obj00_heading & (1u << 6)) != 0u) {
        rs_obj00_heading |= 0x80u;
    }

    dst_p->rs_obj00_heading = (int8_t)rs_obj00_heading;
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[2], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[3], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[4], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[4], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part02_rl_init(struct mc1_cr_rs_obj_00_part02_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part02_rl_t));
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_heading_encode(double value)
{
    return (int8_t)((value - 0.049087) / 0.049087);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_heading_decode(int8_t value)
{
    return (((double)value * 0.049087) + 0.049087);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_heading_is_in_range(int8_t value)
{
    return ((value >= -64) && (value <= 63));
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rl_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part02_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part02_fr_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    rs_obj00_heading = (uint8_t)src_p->rs_obj00_heading;
    dst_p[2] |= pack_left_shift_u8(rs_obj00_heading, 1u, 0xfeu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part02_fr_unpack(
    struct mc1_cr_rs_obj_00_part02_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    rs_obj00_heading = unpack_right_shift_u8(src_p[2], 1u, 0xfeu);

    if ((rs_obj00_heading & (1u << 6)) != 0u) {
        rs_obj00_heading |= 0x80u;
    }

    dst_p->rs_obj00_heading = (int8_t)rs_obj00_heading;
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[2], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[3], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[4], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[4], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part02_fr_init(struct mc1_cr_rs_obj_00_part02_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part02_fr_t));
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_heading_encode(double value)
{
    return (int8_t)((value - 0.049087) / 0.049087);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_heading_decode(int8_t value)
{
    return (((double)value * 0.049087) + 0.049087);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_heading_is_in_range(int8_t value)
{
    return ((value >= -64) && (value <= 63));
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fr_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part02_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part02_rr_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    rs_obj00_heading = (uint8_t)src_p->rs_obj00_heading;
    dst_p[2] |= pack_left_shift_u8(rs_obj00_heading, 1u, 0xfeu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part02_rr_unpack(
    struct mc1_cr_rs_obj_00_part02_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    rs_obj00_heading = unpack_right_shift_u8(src_p[2], 1u, 0xfeu);

    if ((rs_obj00_heading & (1u << 6)) != 0u) {
        rs_obj00_heading |= 0x80u;
    }

    dst_p->rs_obj00_heading = (int8_t)rs_obj00_heading;
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[2], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[3], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[4], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[4], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part02_rr_init(struct mc1_cr_rs_obj_00_part02_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part02_rr_t));
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_heading_encode(double value)
{
    return (int8_t)((value - 0.049087) / 0.049087);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_heading_decode(int8_t value)
{
    return (((double)value * 0.049087) + 0.049087);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_heading_is_in_range(int8_t value)
{
    return ((value >= -64) && (value <= 63));
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_rr_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part01_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part01_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part01_rl_unpack(
    struct mc1_cr_rs_obj_00_part01_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part01_rl_init(struct mc1_cr_rs_obj_00_part01_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part01_rl_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;

    return 0;
}

uint16_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rl_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part01_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part01_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part01_fr_unpack(
    struct mc1_cr_rs_obj_00_part01_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part01_fr_init(struct mc1_cr_rs_obj_00_part01_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part01_fr_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;

    return 0;
}

uint16_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fr_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part01_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part01_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part01_rr_unpack(
    struct mc1_cr_rs_obj_00_part01_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part01_rr_init(struct mc1_cr_rs_obj_00_part01_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part01_rr_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;

    return 0;
}

uint16_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_rr_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part02_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part02_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_detn00_qly, 8u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_detn00_qly, 0u, 0xffu);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_detn00_x_vel_rel, 3u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_detn00_x_vel_rel, 5u, 0xe0u);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_detn00_elev, 0u, 0x1fu);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_detn00_y_vel_rel, 3u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_detn00_y_vel_rel, 5u, 0xe0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_motn_sts, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part02_rl_unpack(
    struct mc1_cr_rs_detn_00_part02_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_qly = unpack_left_shift_u16(src_p[0], 8u, 0xffu);
    dst_p->rs_detn00_qly |= unpack_right_shift_u16(src_p[1], 0u, 0xffu);
    dst_p->rs_detn00_x_vel_rel = unpack_left_shift_u16(src_p[2], 3u, 0xffu);
    dst_p->rs_detn00_x_vel_rel |= unpack_right_shift_u16(src_p[3], 5u, 0xe0u);
    dst_p->rs_detn00_elev = unpack_right_shift_u8(src_p[3], 0u, 0x1fu);
    dst_p->rs_detn00_y_vel_rel = unpack_left_shift_u16(src_p[4], 3u, 0xffu);
    dst_p->rs_detn00_y_vel_rel |= unpack_right_shift_u16(src_p[5], 5u, 0xe0u);
    dst_p->rs_detn00_motn_sts = unpack_right_shift_u8(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part02_rl_init(struct mc1_cr_rs_detn_00_part02_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part02_rl_t));
    msg_p->rs_detn00_x_vel_rel = 0;
    msg_p->rs_detn00_y_vel_rel = 0;
    msg_p->rs_detn00_motn_sts = 3;

    return 0;
}

uint16_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_qly_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_qly_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_qly_is_in_range(uint16_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_x_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_x_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_x_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_elev_encode(double value)
{
    return (uint8_t)(value - -15.0);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_elev_decode(uint8_t value)
{
    return ((double)value + -15.0);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_elev_is_in_range(uint8_t value)
{
    return (value <= 30u);
}

uint16_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_y_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_y_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_y_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_motn_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_motn_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_motn_sts_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rl_rs_detn00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part02_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part02_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_detn00_qly, 8u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_detn00_qly, 0u, 0xffu);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_detn00_x_vel_rel, 3u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_detn00_x_vel_rel, 5u, 0xe0u);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_detn00_elev, 0u, 0x1fu);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_detn00_y_vel_rel, 3u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_detn00_y_vel_rel, 5u, 0xe0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_motn_sts, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part02_fr_unpack(
    struct mc1_cr_rs_detn_00_part02_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_qly = unpack_left_shift_u16(src_p[0], 8u, 0xffu);
    dst_p->rs_detn00_qly |= unpack_right_shift_u16(src_p[1], 0u, 0xffu);
    dst_p->rs_detn00_x_vel_rel = unpack_left_shift_u16(src_p[2], 3u, 0xffu);
    dst_p->rs_detn00_x_vel_rel |= unpack_right_shift_u16(src_p[3], 5u, 0xe0u);
    dst_p->rs_detn00_elev = unpack_right_shift_u8(src_p[3], 0u, 0x1fu);
    dst_p->rs_detn00_y_vel_rel = unpack_left_shift_u16(src_p[4], 3u, 0xffu);
    dst_p->rs_detn00_y_vel_rel |= unpack_right_shift_u16(src_p[5], 5u, 0xe0u);
    dst_p->rs_detn00_motn_sts = unpack_right_shift_u8(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part02_fr_init(struct mc1_cr_rs_detn_00_part02_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part02_fr_t));
    msg_p->rs_detn00_x_vel_rel = 0;
    msg_p->rs_detn00_y_vel_rel = 0;
    msg_p->rs_detn00_motn_sts = 3;

    return 0;
}

uint16_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_qly_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_qly_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_qly_is_in_range(uint16_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_x_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_x_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_x_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_elev_encode(double value)
{
    return (uint8_t)(value - -15.0);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_elev_decode(uint8_t value)
{
    return ((double)value + -15.0);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_elev_is_in_range(uint8_t value)
{
    return (value <= 30u);
}

uint16_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_y_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_y_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_y_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_motn_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_motn_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_motn_sts_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fr_rs_detn00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part02_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part02_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_detn00_qly, 8u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_detn00_qly, 0u, 0xffu);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_detn00_x_vel_rel, 3u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_detn00_x_vel_rel, 5u, 0xe0u);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_detn00_elev, 0u, 0x1fu);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_detn00_y_vel_rel, 3u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_detn00_y_vel_rel, 5u, 0xe0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_motn_sts, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part02_rr_unpack(
    struct mc1_cr_rs_detn_00_part02_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_qly = unpack_left_shift_u16(src_p[0], 8u, 0xffu);
    dst_p->rs_detn00_qly |= unpack_right_shift_u16(src_p[1], 0u, 0xffu);
    dst_p->rs_detn00_x_vel_rel = unpack_left_shift_u16(src_p[2], 3u, 0xffu);
    dst_p->rs_detn00_x_vel_rel |= unpack_right_shift_u16(src_p[3], 5u, 0xe0u);
    dst_p->rs_detn00_elev = unpack_right_shift_u8(src_p[3], 0u, 0x1fu);
    dst_p->rs_detn00_y_vel_rel = unpack_left_shift_u16(src_p[4], 3u, 0xffu);
    dst_p->rs_detn00_y_vel_rel |= unpack_right_shift_u16(src_p[5], 5u, 0xe0u);
    dst_p->rs_detn00_motn_sts = unpack_right_shift_u8(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part02_rr_init(struct mc1_cr_rs_detn_00_part02_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part02_rr_t));
    msg_p->rs_detn00_x_vel_rel = 0;
    msg_p->rs_detn00_y_vel_rel = 0;
    msg_p->rs_detn00_motn_sts = 3;

    return 0;
}

uint16_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_qly_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_qly_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_qly_is_in_range(uint16_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_x_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_x_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_x_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_elev_encode(double value)
{
    return (uint8_t)(value - -15.0);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_elev_decode(uint8_t value)
{
    return ((double)value + -15.0);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_elev_is_in_range(uint8_t value)
{
    return (value <= 30u);
}

uint16_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_y_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_y_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_y_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_motn_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_motn_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_motn_sts_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_rr_rs_detn00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part01_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part01_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_detn00_id, 0u, 0xffu);
    dst_p[1] |= pack_right_shift_u16(src_p->rs_detn00_pos_x, 6u, 0xffu);
    dst_p[2] |= pack_left_shift_u16(src_p->rs_detn00_pos_x, 2u, 0xfcu);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_detn00_pos_y, 6u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_detn00_pos_y, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u16(src_p->rs_detn00_magn, 2u, 0xffu);
    dst_p[6] |= pack_left_shift_u16(src_p->rs_detn00_magn, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg01_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part01_rl_unpack(
    struct mc1_cr_rs_detn_00_part01_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_id = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_detn00_pos_x = unpack_left_shift_u16(src_p[1], 6u, 0xffu);
    dst_p->rs_detn00_pos_x |= unpack_right_shift_u16(src_p[2], 2u, 0xfcu);
    dst_p->rs_detn00_pos_y = unpack_left_shift_u16(src_p[3], 6u, 0xffu);
    dst_p->rs_detn00_pos_y |= unpack_right_shift_u16(src_p[4], 2u, 0xfcu);
    dst_p->rs_detn00_magn = unpack_left_shift_u16(src_p[5], 2u, 0xffu);
    dst_p->rs_detn00_magn |= unpack_right_shift_u16(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part01_rl_init(struct mc1_cr_rs_detn_00_part01_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part01_rl_t));
    msg_p->rs_detn00_pos_x = 8193;
    msg_p->rs_detn00_pos_y = 8193;

    return 0;
}

uint8_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_id_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_id_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_id_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_x_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_x_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_x_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_y_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_y_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_pos_y_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_magn_encode(double value)
{
    return (uint16_t)(value / 0.1);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_magn_decode(uint16_t value)
{
    return ((double)value * 0.1);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_magn_is_in_range(uint16_t value)
{
    return (value <= 1023u);
}

uint8_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rl_rs_detn00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part01_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part01_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_detn00_id, 0u, 0xffu);
    dst_p[1] |= pack_right_shift_u16(src_p->rs_detn00_pos_x, 6u, 0xffu);
    dst_p[2] |= pack_left_shift_u16(src_p->rs_detn00_pos_x, 2u, 0xfcu);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_detn00_pos_y, 6u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_detn00_pos_y, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u16(src_p->rs_detn00_magn, 2u, 0xffu);
    dst_p[6] |= pack_left_shift_u16(src_p->rs_detn00_magn, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg01_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part01_fr_unpack(
    struct mc1_cr_rs_detn_00_part01_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_id = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_detn00_pos_x = unpack_left_shift_u16(src_p[1], 6u, 0xffu);
    dst_p->rs_detn00_pos_x |= unpack_right_shift_u16(src_p[2], 2u, 0xfcu);
    dst_p->rs_detn00_pos_y = unpack_left_shift_u16(src_p[3], 6u, 0xffu);
    dst_p->rs_detn00_pos_y |= unpack_right_shift_u16(src_p[4], 2u, 0xfcu);
    dst_p->rs_detn00_magn = unpack_left_shift_u16(src_p[5], 2u, 0xffu);
    dst_p->rs_detn00_magn |= unpack_right_shift_u16(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part01_fr_init(struct mc1_cr_rs_detn_00_part01_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part01_fr_t));
    msg_p->rs_detn00_pos_x = 8193;
    msg_p->rs_detn00_pos_y = 8193;

    return 0;
}

uint8_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_id_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_id_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_id_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_x_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_x_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_x_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_y_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_y_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_pos_y_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_magn_encode(double value)
{
    return (uint16_t)(value / 0.1);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_magn_decode(uint16_t value)
{
    return ((double)value * 0.1);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_magn_is_in_range(uint16_t value)
{
    return (value <= 1023u);
}

uint8_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fr_rs_detn00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part01_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part01_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_detn00_id, 0u, 0xffu);
    dst_p[1] |= pack_right_shift_u16(src_p->rs_detn00_pos_x, 6u, 0xffu);
    dst_p[2] |= pack_left_shift_u16(src_p->rs_detn00_pos_x, 2u, 0xfcu);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_detn00_pos_y, 6u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_detn00_pos_y, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u16(src_p->rs_detn00_magn, 2u, 0xffu);
    dst_p[6] |= pack_left_shift_u16(src_p->rs_detn00_magn, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg01_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part01_rr_unpack(
    struct mc1_cr_rs_detn_00_part01_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_id = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_detn00_pos_x = unpack_left_shift_u16(src_p[1], 6u, 0xffu);
    dst_p->rs_detn00_pos_x |= unpack_right_shift_u16(src_p[2], 2u, 0xfcu);
    dst_p->rs_detn00_pos_y = unpack_left_shift_u16(src_p[3], 6u, 0xffu);
    dst_p->rs_detn00_pos_y |= unpack_right_shift_u16(src_p[4], 2u, 0xfcu);
    dst_p->rs_detn00_magn = unpack_left_shift_u16(src_p[5], 2u, 0xffu);
    dst_p->rs_detn00_magn |= unpack_right_shift_u16(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part01_rr_init(struct mc1_cr_rs_detn_00_part01_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part01_rr_t));
    msg_p->rs_detn00_pos_x = 8193;
    msg_p->rs_detn00_pos_y = 8193;

    return 0;
}

uint8_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_id_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_id_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_id_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_x_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_x_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_x_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_y_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_y_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_pos_y_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_magn_encode(double value)
{
    return (uint16_t)(value / 0.1);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_magn_decode(uint16_t value)
{
    return ((double)value * 0.1);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_magn_is_in_range(uint16_t value)
{
    return (value <= 1023u);
}

uint8_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_rr_rs_detn00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detandobj_count_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detandobj_count_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->det_num_entries, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->num_txdets, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->obj_num_entries, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->num_tx_objs, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detandobj_count_rl_unpack(
    struct mc1_cr_rs_detandobj_count_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->det_num_entries = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->num_txdets = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->obj_num_entries = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->num_tx_objs = unpack_right_shift_u8(src_p[3], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detandobj_count_rl_init(struct mc1_cr_rs_detandobj_count_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detandobj_count_rl_t));

    return 0;
}

uint8_t mc1_cr_rs_detandobj_count_rl_det_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rl_det_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rl_det_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rl_num_txdets_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rl_num_txdets_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rl_num_txdets_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rl_obj_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rl_obj_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rl_obj_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rl_num_tx_objs_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rl_num_tx_objs_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rl_num_tx_objs_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detandobj_count_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detandobj_count_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->det_num_entries, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->num_txdets, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->obj_num_entries, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->num_tx_objs, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detandobj_count_fr_unpack(
    struct mc1_cr_rs_detandobj_count_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->det_num_entries = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->num_txdets = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->obj_num_entries = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->num_tx_objs = unpack_right_shift_u8(src_p[3], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detandobj_count_fr_init(struct mc1_cr_rs_detandobj_count_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detandobj_count_fr_t));

    return 0;
}

uint8_t mc1_cr_rs_detandobj_count_fr_det_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fr_det_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fr_det_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fr_num_txdets_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fr_num_txdets_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fr_num_txdets_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fr_obj_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fr_obj_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fr_obj_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fr_num_tx_objs_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fr_num_tx_objs_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fr_num_tx_objs_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detandobj_count_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detandobj_count_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->det_num_entries, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->num_txdets, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->obj_num_entries, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->num_tx_objs, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detandobj_count_rr_unpack(
    struct mc1_cr_rs_detandobj_count_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->det_num_entries = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->num_txdets = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->obj_num_entries = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->num_tx_objs = unpack_right_shift_u8(src_p[3], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detandobj_count_rr_init(struct mc1_cr_rs_detandobj_count_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detandobj_count_rr_t));

    return 0;
}

uint8_t mc1_cr_rs_detandobj_count_rr_det_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rr_det_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rr_det_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rr_num_txdets_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rr_num_txdets_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rr_num_txdets_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rr_obj_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rr_obj_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rr_obj_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_rr_num_tx_objs_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_rr_num_tx_objs_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_rr_num_tx_objs_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_resp_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_resp_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_resp_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_resp_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_resp_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_resp_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_resp_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_resp_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_resp_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_resp_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_resp_rr_unpack(
    struct mc1_cr_diag_resp_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_resp_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_resp_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_resp_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_resp_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_resp_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_resp_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_resp_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_resp_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_resp_rr_init(struct mc1_cr_diag_resp_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_resp_rr_t));

    return 0;
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rr_diag_resp_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rr_diag_resp_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rr_diag_resp_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_resp_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_resp_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_resp_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_resp_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_resp_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_resp_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_resp_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_resp_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_resp_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_resp_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_resp_rl_unpack(
    struct mc1_cr_diag_resp_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_resp_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_resp_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_resp_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_resp_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_resp_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_resp_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_resp_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_resp_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_resp_rl_init(struct mc1_cr_diag_resp_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_resp_rl_t));

    return 0;
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_rl_diag_resp_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_rl_diag_resp_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_rl_diag_resp_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_resp_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_resp_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_resp_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_resp_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_resp_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_resp_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_resp_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_resp_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_resp_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_resp_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_resp_fr_unpack(
    struct mc1_cr_diag_resp_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_resp_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_resp_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_resp_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_resp_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_resp_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_resp_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_resp_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_resp_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_resp_fr_init(struct mc1_cr_diag_resp_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_resp_fr_t));

    return 0;
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fr_diag_resp_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fr_diag_resp_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fr_diag_resp_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_req_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_req_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_req_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_req_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_req_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_req_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_req_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_req_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_req_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_req_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_req_rr_unpack(
    struct mc1_cr_diag_req_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_req_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_req_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_req_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_req_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_req_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_req_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_req_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_req_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_req_rr_init(struct mc1_cr_diag_req_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_req_rr_t));

    return 0;
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rr_diag_req_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rr_diag_req_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rr_diag_req_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_req_rl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_req_rl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_req_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_req_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_req_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_req_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_req_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_req_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_req_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_req_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_req_rl_unpack(
    struct mc1_cr_diag_req_rl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_req_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_req_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_req_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_req_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_req_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_req_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_req_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_req_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_req_rl_init(struct mc1_cr_diag_req_rl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_req_rl_t));

    return 0;
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_rl_diag_req_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_rl_diag_req_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_rl_diag_req_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_req_fr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_req_fr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_req_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_req_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_req_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_req_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_req_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_req_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_req_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_req_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_req_fr_unpack(
    struct mc1_cr_diag_req_fr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_req_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_req_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_req_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_req_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_req_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_req_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_req_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_req_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_req_fr_init(struct mc1_cr_diag_req_fr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_req_fr_t));

    return 0;
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fr_diag_req_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fr_diag_req_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fr_diag_req_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part04_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part04_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part04_fl_unpack(
    struct mc1_cr_rs_obj_00_part04_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[1], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part04_fl_init(struct mc1_cr_rs_obj_00_part04_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part04_fl_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part04_fl_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_fl_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_fl_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part04_fl_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part04_fl_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part04_fl_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_fd_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_fd_fl_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 64);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);
    dst_p[8] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[9] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_heading, 1u, 0xfeu);
    dst_p[10] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[11] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[12] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[12] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[13] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[13] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[14] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[15] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);
    dst_p[16] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[17] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[18] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[19] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[20] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[21] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[22] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[23] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);
    dst_p[24] |= pack_left_shift_u8(src_p->rs_obj00_length, 0u, 0xffu);
    dst_p[25] |= pack_left_shift_u8(src_p->rs_obj00_width, 0u, 0xffu);
    dst_p[32] |= pack_right_shift_u16(src_p->rs_obj01_id, 5u, 0xffu);
    dst_p[33] |= pack_left_shift_u16(src_p->rs_obj01_id, 3u, 0xf8u);
    dst_p[33] |= pack_left_shift_u8(src_p->rs_obj01_motion_pattern, 0u, 0x07u);
    dst_p[34] |= pack_right_shift_u16(src_p->rs_obj01_x_pos, 6u, 0xffu);
    dst_p[35] |= pack_left_shift_u16(src_p->rs_obj01_x_pos, 2u, 0xfcu);
    dst_p[35] |= pack_left_shift_u8(src_p->rs_obj01_elev_class, 0u, 0x03u);
    dst_p[36] |= pack_right_shift_u16(src_p->rs_obj01_y_pos, 6u, 0xffu);
    dst_p[37] |= pack_left_shift_u16(src_p->rs_obj01_y_pos, 2u, 0xfcu);
    dst_p[37] |= pack_left_shift_u8(src_p->rs_obj01_elev_conf, 0u, 0x03u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_msg01_alive_counter, 4u, 0xf0u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_type, 2u, 0x0cu);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_valid_flag, 1u, 0x02u);
    dst_p[38] |= pack_left_shift_u8(src_p->rs_obj01_meas_flag, 0u, 0x01u);
    dst_p[39] |= pack_left_shift_u8(src_p->rs_obj01_msg01_check_sum, 0u, 0xffu);
    dst_p[40] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_absolute, 0u, 0xffu);
    dst_p[41] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_absolute, 0u, 0xffu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_heading, 1u, 0xfeu);
    dst_p[42] |= pack_left_shift_u8(src_p->rs_obj01_ctrk_ind, 0u, 0x01u);
    dst_p[43] |= pack_right_shift_u16(src_p->rs_obj01_x_vel_absolute, 3u, 0xffu);
    dst_p[44] |= pack_left_shift_u16(src_p->rs_obj01_x_vel_absolute, 5u, 0xe0u);
    dst_p[44] |= pack_right_shift_u16(src_p->rs_obj01_y_vel_absolute, 6u, 0x1fu);
    dst_p[45] |= pack_left_shift_u16(src_p->rs_obj01_y_vel_absolute, 2u, 0xfcu);
    dst_p[45] |= pack_right_shift_u8(src_p->rs_obj01_classconf, 4u, 0x03u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_classconf, 4u, 0xf0u);
    dst_p[46] |= pack_left_shift_u8(src_p->rs_obj01_msg02_alive_counter, 0u, 0x0fu);
    dst_p[47] |= pack_left_shift_u8(src_p->rs_obj01_msg02_check_sum, 0u, 0xffu);
    dst_p[48] |= pack_left_shift_u8(src_p->rs_obj01_x_pos_stdev, 2u, 0xfcu);
    dst_p[49] |= pack_left_shift_u8(src_p->rs_obj01_y_pos_stdev, 2u, 0xfcu);
    dst_p[50] |= pack_left_shift_u8(src_p->rs_obj01_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[51] |= pack_left_shift_u8(src_p->rs_obj01_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[52] |= pack_left_shift_u8(src_p->rs_obj01_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_left_shift_u8(src_p->rs_obj01_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[53] |= pack_right_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0x03u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_exst_prob, 4u, 0xf0u);
    dst_p[54] |= pack_left_shift_u8(src_p->rs_obj01_msg03_alive_counter, 0u, 0x0fu);
    dst_p[55] |= pack_left_shift_u8(src_p->rs_obj01_msg03_check_sum, 0u, 0xffu);
    dst_p[56] |= pack_left_shift_u8(src_p->rs_obj01_length, 0u, 0xffu);
    dst_p[57] |= pack_left_shift_u8(src_p->rs_obj01_width, 0u, 0xffu);

    return (64);
}

int mc1_cr_rs_obj_fd_fl_unpack(
    struct mc1_cr_rs_obj_fd_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 64u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);
    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[8], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[9], 0u, 0xffu);
    dst_p->rs_obj00_heading = unpack_right_shift_u8(src_p[10], 1u, 0xfeu);
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[10], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[11], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[12], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[12], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[13], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[13], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[14], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[14], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[15], 0u, 0xffu);
    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[16], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[17], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[18], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[19], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[20], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[21], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[21], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[22], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[22], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[23], 0u, 0xffu);
    dst_p->rs_obj00_length = unpack_right_shift_u8(src_p[24], 0u, 0xffu);
    dst_p->rs_obj00_width = unpack_right_shift_u8(src_p[25], 0u, 0xffu);
    dst_p->rs_obj01_id = unpack_left_shift_u16(src_p[32], 5u, 0xffu);
    dst_p->rs_obj01_id |= unpack_right_shift_u16(src_p[33], 3u, 0xf8u);
    dst_p->rs_obj01_motion_pattern = unpack_right_shift_u8(src_p[33], 0u, 0x07u);
    dst_p->rs_obj01_x_pos = unpack_left_shift_u16(src_p[34], 6u, 0xffu);
    dst_p->rs_obj01_x_pos |= unpack_right_shift_u16(src_p[35], 2u, 0xfcu);
    dst_p->rs_obj01_elev_class = unpack_right_shift_u8(src_p[35], 0u, 0x03u);
    dst_p->rs_obj01_y_pos = unpack_left_shift_u16(src_p[36], 6u, 0xffu);
    dst_p->rs_obj01_y_pos |= unpack_right_shift_u16(src_p[37], 2u, 0xfcu);
    dst_p->rs_obj01_elev_conf = unpack_right_shift_u8(src_p[37], 0u, 0x03u);
    dst_p->rs_obj01_msg01_alive_counter = unpack_right_shift_u8(src_p[38], 4u, 0xf0u);
    dst_p->rs_obj01_type = unpack_right_shift_u8(src_p[38], 2u, 0x0cu);
    dst_p->rs_obj01_valid_flag = unpack_right_shift_u8(src_p[38], 1u, 0x02u);
    dst_p->rs_obj01_meas_flag = unpack_right_shift_u8(src_p[38], 0u, 0x01u);
    dst_p->rs_obj01_msg01_check_sum = unpack_right_shift_u8(src_p[39], 0u, 0xffu);
    dst_p->rs_obj01_x_acc_absolute = unpack_right_shift_u8(src_p[40], 0u, 0xffu);
    dst_p->rs_obj01_y_acc_absolute = unpack_right_shift_u8(src_p[41], 0u, 0xffu);
    dst_p->rs_obj01_heading = unpack_right_shift_u8(src_p[42], 1u, 0xfeu);
    dst_p->rs_obj01_ctrk_ind = unpack_right_shift_u8(src_p[42], 0u, 0x01u);
    dst_p->rs_obj01_x_vel_absolute = unpack_left_shift_u16(src_p[43], 3u, 0xffu);
    dst_p->rs_obj01_x_vel_absolute |= unpack_right_shift_u16(src_p[44], 5u, 0xe0u);
    dst_p->rs_obj01_y_vel_absolute = unpack_left_shift_u16(src_p[44], 6u, 0x1fu);
    dst_p->rs_obj01_y_vel_absolute |= unpack_right_shift_u16(src_p[45], 2u, 0xfcu);
    dst_p->rs_obj01_classconf = unpack_left_shift_u8(src_p[45], 4u, 0x03u);
    dst_p->rs_obj01_classconf |= unpack_right_shift_u8(src_p[46], 4u, 0xf0u);
    dst_p->rs_obj01_msg02_alive_counter = unpack_right_shift_u8(src_p[46], 0u, 0x0fu);
    dst_p->rs_obj01_msg02_check_sum = unpack_right_shift_u8(src_p[47], 0u, 0xffu);
    dst_p->rs_obj01_x_pos_stdev = unpack_right_shift_u8(src_p[48], 2u, 0xfcu);
    dst_p->rs_obj01_y_pos_stdev = unpack_right_shift_u8(src_p[49], 2u, 0xfcu);
    dst_p->rs_obj01_x_vel_rel_stdev = unpack_right_shift_u8(src_p[50], 2u, 0xfcu);
    dst_p->rs_obj01_y_vel_rel_stdev = unpack_right_shift_u8(src_p[51], 2u, 0xfcu);
    dst_p->rs_obj01_x_acc_rel_stdev = unpack_right_shift_u8(src_p[52], 2u, 0xfcu);
    dst_p->rs_obj01_y_acc_rel_stdev = unpack_right_shift_u8(src_p[53], 2u, 0xfcu);
    dst_p->rs_obj01_exst_prob = unpack_left_shift_u8(src_p[53], 4u, 0x03u);
    dst_p->rs_obj01_exst_prob |= unpack_right_shift_u8(src_p[54], 4u, 0xf0u);
    dst_p->rs_obj01_msg03_alive_counter = unpack_right_shift_u8(src_p[54], 0u, 0x0fu);
    dst_p->rs_obj01_msg03_check_sum = unpack_right_shift_u8(src_p[55], 0u, 0xffu);
    dst_p->rs_obj01_length = unpack_right_shift_u8(src_p[56], 0u, 0xffu);
    dst_p->rs_obj01_width = unpack_right_shift_u8(src_p[57], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_fd_fl_init(struct mc1_cr_rs_obj_fd_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_fd_fl_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;
    msg_p->rs_obj01_id = 8191;
    msg_p->rs_obj01_motion_pattern = 0;
    msg_p->rs_obj01_x_pos = 8193;
    msg_p->rs_obj01_elev_class = 0;
    msg_p->rs_obj01_y_pos = 8193;
    msg_p->rs_obj01_elev_conf = 0;
    msg_p->rs_obj01_type = 0;
    msg_p->rs_obj01_valid_flag = 0;
    msg_p->rs_obj01_meas_flag = 1;
    msg_p->rs_obj01_x_acc_absolute = 0;
    msg_p->rs_obj01_y_acc_absolute = 0;
    msg_p->rs_obj01_ctrk_ind = 0;
    msg_p->rs_obj01_x_vel_absolute = 0;
    msg_p->rs_obj01_y_vel_absolute = 0;

    return 0;
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj00_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj00_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj00_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj01_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_heading_encode(double value)
{
    return (uint8_t)(value / 0.049087);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_heading_decode(uint8_t value)
{
    return ((double)value * 0.049087);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_heading_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_length_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_length_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_length_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_fd_fl_rs_obj01_width_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_fd_fl_rs_obj01_width_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_fd_fl_rs_obj01_width_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detandobj_count_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detandobj_count_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->det_num_entries, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->num_txdets, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->obj_num_entries, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->num_tx_objs, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detandobj_count_fl_unpack(
    struct mc1_cr_rs_detandobj_count_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->det_num_entries = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->num_txdets = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->obj_num_entries = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->num_tx_objs = unpack_right_shift_u8(src_p[3], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detandobj_count_fl_init(struct mc1_cr_rs_detandobj_count_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detandobj_count_fl_t));

    return 0;
}

uint8_t mc1_cr_rs_detandobj_count_fl_det_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fl_det_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fl_det_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fl_num_txdets_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fl_num_txdets_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fl_num_txdets_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fl_obj_num_entries_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fl_obj_num_entries_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fl_obj_num_entries_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_detandobj_count_fl_num_tx_objs_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detandobj_count_fl_num_tx_objs_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detandobj_count_fl_num_tx_objs_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_req_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_req_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_req_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_req_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_req_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_req_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_req_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_req_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_req_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_req_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_req_fl_unpack(
    struct mc1_cr_diag_req_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_req_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_req_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_req_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_req_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_req_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_req_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_req_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_req_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_req_fl_init(struct mc1_cr_diag_req_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_req_fl_t));

    return 0;
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_req_fl_diag_req_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_req_fl_diag_req_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_req_fl_diag_req_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_diag_resp_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_diag_resp_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->diag_resp_byte0, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->diag_resp_byte1, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->diag_resp_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->diag_resp_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->diag_resp_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->diag_resp_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->diag_resp_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->diag_resp_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_diag_resp_fl_unpack(
    struct mc1_cr_diag_resp_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->diag_resp_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->diag_resp_byte1 = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    dst_p->diag_resp_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->diag_resp_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->diag_resp_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->diag_resp_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->diag_resp_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->diag_resp_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_diag_resp_fl_init(struct mc1_cr_diag_resp_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_diag_resp_fl_t));

    return 0;
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte1_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte1_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte1_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_diag_resp_fl_diag_resp_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_diag_resp_fl_diag_resp_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_diag_resp_fl_diag_resp_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_status_rr_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_status_rr_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_failure, 7u, 0x80u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_interference, 6u, 0x40u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_blkg, 5u, 0x20u);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_sts_mis_align, 2u, 0x1cu);
    dst_p[0] |= pack_left_shift_u8(src_p->rs_warn_rcw, 0u, 0x03u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_bsd, 6u, 0xc0u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_lca, 4u, 0x30u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_sdo, 2u, 0x0cu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_warn_rcta, 0u, 0x03u);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_latency, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_msg_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_msg_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_status_rr_unpack(
    struct mc1_cr_rs_status_rr_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_sts_failure = unpack_right_shift_u8(src_p[0], 7u, 0x80u);
    dst_p->rs_sts_interference = unpack_right_shift_u8(src_p[0], 6u, 0x40u);
    dst_p->rs_sts_blkg = unpack_right_shift_u8(src_p[0], 5u, 0x20u);
    dst_p->rs_sts_mis_align = unpack_right_shift_u8(src_p[0], 2u, 0x1cu);
    dst_p->rs_warn_rcw = unpack_right_shift_u8(src_p[0], 0u, 0x03u);
    dst_p->rs_warn_bsd = unpack_right_shift_u8(src_p[1], 6u, 0xc0u);
    dst_p->rs_warn_lca = unpack_right_shift_u8(src_p[1], 4u, 0x30u);
    dst_p->rs_warn_sdo = unpack_right_shift_u8(src_p[1], 2u, 0x0cu);
    dst_p->rs_warn_rcta = unpack_right_shift_u8(src_p[1], 0u, 0x03u);
    dst_p->rs_latency = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->rs_msg_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_msg_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_status_rr_init(struct mc1_cr_rs_status_rr_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_status_rr_t));

    return 0;
}

uint8_t mc1_cr_rs_status_rr_rs_sts_failure_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_sts_failure_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_sts_failure_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rr_rs_sts_interference_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_sts_interference_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_sts_interference_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rr_rs_sts_blkg_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_sts_blkg_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_sts_blkg_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_status_rr_rs_sts_mis_align_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_sts_mis_align_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_sts_mis_align_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint8_t mc1_cr_rs_status_rr_rs_warn_rcw_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_warn_rcw_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_warn_rcw_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rr_rs_warn_bsd_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_warn_bsd_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_warn_bsd_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rr_rs_warn_lca_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_warn_lca_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_warn_lca_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rr_rs_warn_sdo_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_warn_sdo_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_warn_sdo_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rr_rs_warn_rcta_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_warn_rcta_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_warn_rcta_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_status_rr_rs_latency_encode(double value)
{
    return (uint8_t)(value / 0.005);
}

double mc1_cr_rs_status_rr_rs_latency_decode(uint8_t value)
{
    return ((double)value * 0.005);
}

bool mc1_cr_rs_status_rr_rs_latency_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_status_rr_rs_msg_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_msg_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_msg_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_status_rr_rs_msg_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_status_rr_rs_msg_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_status_rr_rs_msg_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_nwm_rs_pack(
    uint8_t *dst_p,
    const struct mc1_cr_nwm_rs_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_address, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_awb, 4u, 0x10u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_rmr, 0u, 0x01u);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_wakeup_reasons, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_nm_sts, 0u, 0x01u);
    dst_p[4] |= pack_right_shift_u32(src_p->rs_stayawake_reasons, 24u, 0xffu);
    dst_p[5] |= pack_right_shift_u32(src_p->rs_stayawake_reasons, 16u, 0xffu);
    dst_p[6] |= pack_right_shift_u32(src_p->rs_stayawake_reasons, 8u, 0xffu);
    dst_p[7] |= pack_left_shift_u32(src_p->rs_stayawake_reasons, 0u, 0xffu);

    return (8);
}

int mc1_cr_nwm_rs_unpack(
    struct mc1_cr_nwm_rs_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_address = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_awb = unpack_right_shift_u8(src_p[1], 4u, 0x10u);
    dst_p->rs_rmr = unpack_right_shift_u8(src_p[1], 0u, 0x01u);
    dst_p->rs_wakeup_reasons = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->rs_nm_sts = unpack_right_shift_u8(src_p[3], 0u, 0x01u);
    dst_p->rs_stayawake_reasons = unpack_left_shift_u32(src_p[4], 24u, 0xffu);
    dst_p->rs_stayawake_reasons |= unpack_left_shift_u32(src_p[5], 16u, 0xffu);
    dst_p->rs_stayawake_reasons |= unpack_left_shift_u32(src_p[6], 8u, 0xffu);
    dst_p->rs_stayawake_reasons |= unpack_right_shift_u32(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_nwm_rs_init(struct mc1_cr_nwm_rs_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_nwm_rs_t));

    return 0;
}

uint8_t mc1_cr_nwm_rs_rs_address_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_nwm_rs_rs_address_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_address_is_in_range(uint8_t value)
{
    return (value <= 127u);
}

uint8_t mc1_cr_nwm_rs_rs_awb_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_nwm_rs_rs_awb_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_awb_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_nwm_rs_rs_rmr_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_nwm_rs_rs_rmr_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_rmr_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_nwm_rs_rs_wakeup_reasons_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_nwm_rs_rs_wakeup_reasons_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_wakeup_reasons_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_nwm_rs_rs_nm_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_nwm_rs_rs_nm_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_nm_sts_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint32_t mc1_cr_nwm_rs_rs_stayawake_reasons_encode(double value)
{
    return (uint32_t)(value);
}

double mc1_cr_nwm_rs_rs_stayawake_reasons_decode(uint32_t value)
{
    return ((double)value);
}

bool mc1_cr_nwm_rs_rs_stayawake_reasons_is_in_range(uint32_t value)
{
    return (value <= 127u);
}

int mc1_cr_func_diag_req_pack(
    uint8_t *dst_p,
    const struct mc1_cr_func_diag_req_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->func_diag_req_byte0, 0u, 0xffu);
    dst_p[2] |= pack_left_shift_u8(src_p->func_diag_req_byte2, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->func_diag_req_byte3, 0u, 0xffu);
    dst_p[4] |= pack_left_shift_u8(src_p->func_diag_req_byte4, 0u, 0xffu);
    dst_p[5] |= pack_left_shift_u8(src_p->func_diag_req_byte5, 0u, 0xffu);
    dst_p[6] |= pack_left_shift_u8(src_p->func_diag_req_byte6, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->func_diag_req_byte7, 0u, 0xffu);

    return (8);
}

int mc1_cr_func_diag_req_unpack(
    struct mc1_cr_func_diag_req_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->func_diag_req_byte0 = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->func_diag_req_byte2 = unpack_right_shift_u8(src_p[2], 0u, 0xffu);
    dst_p->func_diag_req_byte3 = unpack_right_shift_u8(src_p[3], 0u, 0xffu);
    dst_p->func_diag_req_byte4 = unpack_right_shift_u8(src_p[4], 0u, 0xffu);
    dst_p->func_diag_req_byte5 = unpack_right_shift_u8(src_p[5], 0u, 0xffu);
    dst_p->func_diag_req_byte6 = unpack_right_shift_u8(src_p[6], 0u, 0xffu);
    dst_p->func_diag_req_byte7 = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_func_diag_req_init(struct mc1_cr_func_diag_req_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_func_diag_req_t));

    return 0;
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte0_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte0_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte0_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte2_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte2_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte2_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte3_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte3_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte3_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte4_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte4_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte4_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte5_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte5_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte5_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte6_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte6_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte6_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_func_diag_req_func_diag_req_byte7_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_func_diag_req_func_diag_req_byte7_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_func_diag_req_func_diag_req_byte7_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_vcu_mode_control_pack(
    uint8_t *dst_p,
    const struct mc1_cr_vcu_mode_control_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[2] |= pack_left_shift_u8(src_p->vcu_current_gear_position, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->vcu_mode_control_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->vcu_mode_control_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_vcu_mode_control_unpack(
    struct mc1_cr_vcu_mode_control_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->vcu_current_gear_position = unpack_right_shift_u8(src_p[2], 4u, 0xf0u);
    dst_p->vcu_mode_control_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->vcu_mode_control_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_vcu_mode_control_init(struct mc1_cr_vcu_mode_control_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_vcu_mode_control_t));
    msg_p->vcu_current_gear_position = 15;

    return 0;
}

uint8_t mc1_cr_vcu_mode_control_vcu_current_gear_position_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_vcu_mode_control_vcu_current_gear_position_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_vcu_mode_control_vcu_current_gear_position_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_vcu_mode_control_vcu_mode_control_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_vcu_mode_control_vcu_mode_control_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_vcu_mode_control_vcu_mode_control_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_vcu_mode_control_vcu_mode_control_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_vcu_mode_control_vcu_mode_control_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_vcu_mode_control_vcu_mode_control_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_yrs1_pack(
    uint8_t *dst_p,
    const struct mc1_cr_yrs1_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->yrs1_check_sum, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->yrs_yaw_rate_sensor_state, 1u, 0x06u);
    dst_p[2] |= pack_right_shift_u16(src_p->yrs_lateral_acce, 8u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->yrs_lateral_acce, 0u, 0xffu);
    dst_p[4] |= pack_right_shift_u16(src_p->yrs_yaw_rate, 8u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->yrs_yaw_rate, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->yrs1_alive_counter, 0u, 0x0fu);

    return (8);
}

int mc1_cr_yrs1_unpack(
    struct mc1_cr_yrs1_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->yrs1_check_sum = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->yrs_yaw_rate_sensor_state = unpack_right_shift_u8(src_p[1], 1u, 0x06u);
    dst_p->yrs_lateral_acce = unpack_left_shift_u16(src_p[2], 8u, 0xffu);
    dst_p->yrs_lateral_acce |= unpack_right_shift_u16(src_p[3], 0u, 0xffu);
    dst_p->yrs_yaw_rate = unpack_left_shift_u16(src_p[4], 8u, 0xffu);
    dst_p->yrs_yaw_rate |= unpack_right_shift_u16(src_p[5], 0u, 0xffu);
    dst_p->yrs1_alive_counter = unpack_right_shift_u8(src_p[7], 0u, 0x0fu);

    return (0);
}

int mc1_cr_yrs1_init(struct mc1_cr_yrs1_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_yrs1_t));
    msg_p->yrs_yaw_rate_sensor_state = 3;

    return 0;
}

uint8_t mc1_cr_yrs1_yrs1_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_yrs1_yrs1_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_yrs1_yrs1_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_yrs1_yrs_yaw_rate_sensor_state_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_yrs1_yrs_yaw_rate_sensor_state_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_yrs1_yrs_yaw_rate_sensor_state_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_yrs1_yrs_lateral_acce_encode(double value)
{
    return (uint16_t)((value - -2.0) / 0.001);
}

double mc1_cr_yrs1_yrs_lateral_acce_decode(uint16_t value)
{
    return (((double)value * 0.001) + -2.0);
}

bool mc1_cr_yrs1_yrs_lateral_acce_is_in_range(uint16_t value)
{
    return (value <= 4000u);
}

uint16_t mc1_cr_yrs1_yrs_yaw_rate_encode(double value)
{
    return (uint16_t)((value - -180.0) / 0.01);
}

double mc1_cr_yrs1_yrs_yaw_rate_decode(uint16_t value)
{
    return (((double)value * 0.01) + -180.0);
}

bool mc1_cr_yrs1_yrs_yaw_rate_is_in_range(uint16_t value)
{
    return (value <= 36000u);
}

uint8_t mc1_cr_yrs1_yrs1_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_yrs1_yrs1_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_yrs1_yrs1_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

int mc1_cr_yrs2_pack(
    uint8_t *dst_p,
    const struct mc1_cr_yrs2_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->yrs2_check_sum, 0u, 0xffu);
    dst_p[2] |= pack_right_shift_u16(src_p->yrs_longit_acce, 8u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->yrs_longit_acce, 0u, 0xffu);
    dst_p[7] |= pack_left_shift_u8(src_p->yrs2_alive_counter, 0u, 0x0fu);

    return (8);
}

int mc1_cr_yrs2_unpack(
    struct mc1_cr_yrs2_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->yrs2_check_sum = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->yrs_longit_acce = unpack_left_shift_u16(src_p[2], 8u, 0xffu);
    dst_p->yrs_longit_acce |= unpack_right_shift_u16(src_p[3], 0u, 0xffu);
    dst_p->yrs2_alive_counter = unpack_right_shift_u8(src_p[7], 0u, 0x0fu);

    return (0);
}

int mc1_cr_yrs2_init(struct mc1_cr_yrs2_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_yrs2_t));

    return 0;
}

uint8_t mc1_cr_yrs2_yrs2_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_yrs2_yrs2_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_yrs2_yrs2_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_yrs2_yrs_longit_acce_encode(double value)
{
    return (uint16_t)((value - -2.0) / 0.001);
}

double mc1_cr_yrs2_yrs_longit_acce_decode(uint16_t value)
{
    return (((double)value * 0.001) + -2.0);
}

bool mc1_cr_yrs2_yrs_longit_acce_is_in_range(uint16_t value)
{
    return (value <= 4000u);
}

uint8_t mc1_cr_yrs2_yrs2_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_yrs2_yrs2_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_yrs2_yrs2_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

int mc1_cr_sas_status_pack(
    uint8_t *dst_p,
    const struct mc1_cr_sas_status_t *src_p,
    size_t size)
{
    uint16_t sas_steer_wheel_angle;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    sas_steer_wheel_angle = (uint16_t)src_p->sas_steer_wheel_angle;
    dst_p[0] |= pack_right_shift_u16(sas_steer_wheel_angle, 8u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(sas_steer_wheel_angle, 0u, 0xffu);
    dst_p[3] |= pack_left_shift_u8(src_p->sas_failure_sts, 7u, 0x80u);
    dst_p[4] |= pack_left_shift_u8(src_p->sas_status_alive_counter, 4u, 0xf0u);
    dst_p[5] |= pack_left_shift_u8(src_p->sas_status_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_sas_status_unpack(
    struct mc1_cr_sas_status_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    uint16_t sas_steer_wheel_angle;

    if (size < 8u) {
        return (-EINVAL);
    }

    sas_steer_wheel_angle = unpack_left_shift_u16(src_p[0], 8u, 0xffu);
    sas_steer_wheel_angle |= unpack_right_shift_u16(src_p[1], 0u, 0xffu);
    dst_p->sas_steer_wheel_angle = (int16_t)sas_steer_wheel_angle;
    dst_p->sas_failure_sts = unpack_right_shift_u8(src_p[3], 7u, 0x80u);
    dst_p->sas_status_alive_counter = unpack_right_shift_u8(src_p[4], 4u, 0xf0u);
    dst_p->sas_status_check_sum = unpack_right_shift_u8(src_p[5], 0u, 0xffu);

    return (0);
}

int mc1_cr_sas_status_init(struct mc1_cr_sas_status_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_sas_status_t));

    return 0;
}

int16_t mc1_cr_sas_status_sas_steer_wheel_angle_encode(double value)
{
    return (int16_t)(value / 0.1);
}

double mc1_cr_sas_status_sas_steer_wheel_angle_decode(int16_t value)
{
    return ((double)value * 0.1);
}

bool mc1_cr_sas_status_sas_steer_wheel_angle_is_in_range(int16_t value)
{
    return ((value >= -7800) && (value <= 7799));
}

uint8_t mc1_cr_sas_status_sas_failure_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_sas_status_sas_failure_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_sas_status_sas_failure_sts_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_sas_status_sas_status_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_sas_status_sas_status_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_sas_status_sas_status_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_sas_status_sas_status_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_sas_status_sas_status_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_sas_status_sas_status_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_esc_status_pack(
    uint8_t *dst_p,
    const struct mc1_cr_esc_status_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[1] |= pack_right_shift_u16(src_p->esc_vehicle_speed, 5u, 0xffu);
    dst_p[2] |= pack_left_shift_u16(src_p->esc_vehicle_speed, 3u, 0xf8u);
    dst_p[2] |= pack_left_shift_u8(src_p->esc_vehicle_speed_invalid, 2u, 0x04u);
    dst_p[6] |= pack_left_shift_u8(src_p->esc_status_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->esc_status_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_esc_status_unpack(
    struct mc1_cr_esc_status_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->esc_vehicle_speed = unpack_left_shift_u16(src_p[1], 5u, 0xffu);
    dst_p->esc_vehicle_speed |= unpack_right_shift_u16(src_p[2], 3u, 0xf8u);
    dst_p->esc_vehicle_speed_invalid = unpack_right_shift_u8(src_p[2], 2u, 0x04u);
    dst_p->esc_status_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->esc_status_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_esc_status_init(struct mc1_cr_esc_status_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_esc_status_t));

    return 0;
}

uint16_t mc1_cr_esc_status_esc_vehicle_speed_encode(double value)
{
    return (uint16_t)(value / 0.05625);
}

double mc1_cr_esc_status_esc_vehicle_speed_decode(uint16_t value)
{
    return ((double)value * 0.05625);
}

bool mc1_cr_esc_status_esc_vehicle_speed_is_in_range(uint16_t value)
{
    return (value <= 8189u);
}

uint8_t mc1_cr_esc_status_esc_vehicle_speed_invalid_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_esc_status_esc_vehicle_speed_invalid_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_esc_status_esc_vehicle_speed_invalid_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_esc_status_esc_status_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_esc_status_esc_status_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_esc_status_esc_status_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_esc_status_esc_status_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_esc_status_esc_status_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_esc_status_esc_status_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_tcu_status_pack(
    uint8_t *dst_p,
    const struct mc1_cr_tcu_status_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[4] |= pack_left_shift_u8(src_p->tcu_current_gear_position, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->tcu_status_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->tcu_status_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_tcu_status_unpack(
    struct mc1_cr_tcu_status_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->tcu_current_gear_position = unpack_right_shift_u8(src_p[4], 4u, 0xf0u);
    dst_p->tcu_status_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->tcu_status_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_tcu_status_init(struct mc1_cr_tcu_status_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_tcu_status_t));
    msg_p->tcu_current_gear_position = 15;

    return 0;
}

uint8_t mc1_cr_tcu_status_tcu_current_gear_position_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_tcu_status_tcu_current_gear_position_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_tcu_status_tcu_current_gear_position_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_tcu_status_tcu_status_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_tcu_status_tcu_status_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_tcu_status_tcu_status_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_tcu_status_tcu_status_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_tcu_status_tcu_status_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_tcu_status_tcu_status_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part01_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part01_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_detn00_id, 0u, 0xffu);
    dst_p[1] |= pack_right_shift_u16(src_p->rs_detn00_pos_x, 6u, 0xffu);
    dst_p[2] |= pack_left_shift_u16(src_p->rs_detn00_pos_x, 2u, 0xfcu);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_detn00_pos_y, 6u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_detn00_pos_y, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u16(src_p->rs_detn00_magn, 2u, 0xffu);
    dst_p[6] |= pack_left_shift_u16(src_p->rs_detn00_magn, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg01_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part01_fl_unpack(
    struct mc1_cr_rs_detn_00_part01_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_id = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_detn00_pos_x = unpack_left_shift_u16(src_p[1], 6u, 0xffu);
    dst_p->rs_detn00_pos_x |= unpack_right_shift_u16(src_p[2], 2u, 0xfcu);
    dst_p->rs_detn00_pos_y = unpack_left_shift_u16(src_p[3], 6u, 0xffu);
    dst_p->rs_detn00_pos_y |= unpack_right_shift_u16(src_p[4], 2u, 0xfcu);
    dst_p->rs_detn00_magn = unpack_left_shift_u16(src_p[5], 2u, 0xffu);
    dst_p->rs_detn00_magn |= unpack_right_shift_u16(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part01_fl_init(struct mc1_cr_rs_detn_00_part01_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part01_fl_t));
    msg_p->rs_detn00_pos_x = 8193;
    msg_p->rs_detn00_pos_y = 8193;

    return 0;
}

uint8_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_id_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_id_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_id_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_x_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_x_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_x_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_y_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_y_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_pos_y_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint16_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_magn_encode(double value)
{
    return (uint16_t)(value / 0.1);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_magn_decode(uint16_t value)
{
    return ((double)value * 0.1);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_magn_is_in_range(uint16_t value)
{
    return (value <= 1023u);
}

uint8_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part01_fl_rs_detn00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_detn_00_part02_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_detn_00_part02_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_detn00_qly, 8u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_detn00_qly, 0u, 0xffu);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_detn00_x_vel_rel, 3u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_detn00_x_vel_rel, 5u, 0xe0u);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_detn00_elev, 0u, 0x1fu);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_detn00_y_vel_rel, 3u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_detn00_y_vel_rel, 5u, 0xe0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_motn_sts, 6u, 0xc0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_detn00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_detn00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_detn_00_part02_fl_unpack(
    struct mc1_cr_rs_detn_00_part02_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_detn00_qly = unpack_left_shift_u16(src_p[0], 8u, 0xffu);
    dst_p->rs_detn00_qly |= unpack_right_shift_u16(src_p[1], 0u, 0xffu);
    dst_p->rs_detn00_x_vel_rel = unpack_left_shift_u16(src_p[2], 3u, 0xffu);
    dst_p->rs_detn00_x_vel_rel |= unpack_right_shift_u16(src_p[3], 5u, 0xe0u);
    dst_p->rs_detn00_elev = unpack_right_shift_u8(src_p[3], 0u, 0x1fu);
    dst_p->rs_detn00_y_vel_rel = unpack_left_shift_u16(src_p[4], 3u, 0xffu);
    dst_p->rs_detn00_y_vel_rel |= unpack_right_shift_u16(src_p[5], 5u, 0xe0u);
    dst_p->rs_detn00_motn_sts = unpack_right_shift_u8(src_p[6], 6u, 0xc0u);
    dst_p->rs_detn00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_detn00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_detn_00_part02_fl_init(struct mc1_cr_rs_detn_00_part02_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_detn_00_part02_fl_t));
    msg_p->rs_detn00_x_vel_rel = 0;
    msg_p->rs_detn00_y_vel_rel = 0;
    msg_p->rs_detn00_motn_sts = 3;

    return 0;
}

uint16_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_qly_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_qly_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_qly_is_in_range(uint16_t value)
{
    (void)value;

    return (true);
}

uint16_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_x_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_x_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_x_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_elev_encode(double value)
{
    return (uint8_t)(value - -15.0);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_elev_decode(uint8_t value)
{
    return ((double)value + -15.0);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_elev_is_in_range(uint8_t value)
{
    return (value <= 30u);
}

uint16_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_y_vel_rel_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_y_vel_rel_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_y_vel_rel_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_motn_sts_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_motn_sts_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_motn_sts_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_detn_00_part02_fl_rs_detn00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part01_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part01_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_right_shift_u16(src_p->rs_obj00_id, 5u, 0xffu);
    dst_p[1] |= pack_left_shift_u16(src_p->rs_obj00_id, 3u, 0xf8u);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_motion_pattern, 0u, 0x07u);
    dst_p[2] |= pack_right_shift_u16(src_p->rs_obj00_x_pos, 6u, 0xffu);
    dst_p[3] |= pack_left_shift_u16(src_p->rs_obj00_x_pos, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_elev_class, 0u, 0x03u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_pos, 6u, 0xffu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_pos, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_elev_conf, 0u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg01_alive_counter, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_type, 2u, 0x0cu);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_valid_flag, 1u, 0x02u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_meas_flag, 0u, 0x01u);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg01_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part01_fl_unpack(
    struct mc1_cr_rs_obj_00_part01_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_id = unpack_left_shift_u16(src_p[0], 5u, 0xffu);
    dst_p->rs_obj00_id |= unpack_right_shift_u16(src_p[1], 3u, 0xf8u);
    dst_p->rs_obj00_motion_pattern = unpack_right_shift_u8(src_p[1], 0u, 0x07u);
    dst_p->rs_obj00_x_pos = unpack_left_shift_u16(src_p[2], 6u, 0xffu);
    dst_p->rs_obj00_x_pos |= unpack_right_shift_u16(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_elev_class = unpack_right_shift_u8(src_p[3], 0u, 0x03u);
    dst_p->rs_obj00_y_pos = unpack_left_shift_u16(src_p[4], 6u, 0xffu);
    dst_p->rs_obj00_y_pos |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_elev_conf = unpack_right_shift_u8(src_p[5], 0u, 0x03u);
    dst_p->rs_obj00_msg01_alive_counter = unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_type = unpack_right_shift_u8(src_p[6], 2u, 0x0cu);
    dst_p->rs_obj00_valid_flag = unpack_right_shift_u8(src_p[6], 1u, 0x02u);
    dst_p->rs_obj00_meas_flag = unpack_right_shift_u8(src_p[6], 0u, 0x01u);
    dst_p->rs_obj00_msg01_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part01_fl_init(struct mc1_cr_rs_obj_00_part01_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part01_fl_t));
    msg_p->rs_obj00_id = 8191;
    msg_p->rs_obj00_motion_pattern = 0;
    msg_p->rs_obj00_x_pos = 8193;
    msg_p->rs_obj00_elev_class = 0;
    msg_p->rs_obj00_y_pos = 8193;
    msg_p->rs_obj00_elev_conf = 0;
    msg_p->rs_obj00_type = 0;
    msg_p->rs_obj00_valid_flag = 0;
    msg_p->rs_obj00_meas_flag = 1;

    return 0;
}

uint16_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_id_encode(double value)
{
    return (uint16_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_id_decode(uint16_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_id_is_in_range(uint16_t value)
{
    return (value <= 8191u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_motion_pattern_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_motion_pattern_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_motion_pattern_is_in_range(uint8_t value)
{
    return (value <= 7u);
}

uint16_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_x_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_x_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_x_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_class_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_class_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_class_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint16_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_y_pos_encode(double value)
{
    return (uint16_t)((value - -200.0) / 0.02441);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_y_pos_decode(uint16_t value)
{
    return (((double)value * 0.02441) + -200.0);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_y_pos_is_in_range(uint16_t value)
{
    return (value <= 16383u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_conf_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_conf_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_elev_conf_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_type_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_type_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_type_is_in_range(uint8_t value)
{
    return (value <= 3u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_valid_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_valid_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_valid_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_meas_flag_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_meas_flag_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_meas_flag_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint8_t mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part01_fl_rs_obj00_msg01_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part02_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part02_fl_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_absolute, 0u, 0xffu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_absolute, 0u, 0xffu);
    rs_obj00_heading = (uint8_t)src_p->rs_obj00_heading;
    dst_p[2] |= pack_left_shift_u8(rs_obj00_heading, 1u, 0xfeu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_ctrk_ind, 0u, 0x01u);
    dst_p[3] |= pack_right_shift_u16(src_p->rs_obj00_x_vel_absolute, 3u, 0xffu);
    dst_p[4] |= pack_left_shift_u16(src_p->rs_obj00_x_vel_absolute, 5u, 0xe0u);
    dst_p[4] |= pack_right_shift_u16(src_p->rs_obj00_y_vel_absolute, 6u, 0x1fu);
    dst_p[5] |= pack_left_shift_u16(src_p->rs_obj00_y_vel_absolute, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_classconf, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_classconf, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg02_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg02_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part02_fl_unpack(
    struct mc1_cr_rs_obj_00_part02_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    uint8_t rs_obj00_heading;

    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_acc_absolute = unpack_right_shift_u8(src_p[0], 0u, 0xffu);
    dst_p->rs_obj00_y_acc_absolute = unpack_right_shift_u8(src_p[1], 0u, 0xffu);
    rs_obj00_heading = unpack_right_shift_u8(src_p[2], 1u, 0xfeu);

    if ((rs_obj00_heading & (1u << 6)) != 0u) {
        rs_obj00_heading |= 0x80u;
    }

    dst_p->rs_obj00_heading = (int8_t)rs_obj00_heading;
    dst_p->rs_obj00_ctrk_ind = unpack_right_shift_u8(src_p[2], 0u, 0x01u);
    dst_p->rs_obj00_x_vel_absolute = unpack_left_shift_u16(src_p[3], 3u, 0xffu);
    dst_p->rs_obj00_x_vel_absolute |= unpack_right_shift_u16(src_p[4], 5u, 0xe0u);
    dst_p->rs_obj00_y_vel_absolute = unpack_left_shift_u16(src_p[4], 6u, 0x1fu);
    dst_p->rs_obj00_y_vel_absolute |= unpack_right_shift_u16(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_classconf = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_classconf |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg02_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg02_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part02_fl_init(struct mc1_cr_rs_obj_00_part02_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part02_fl_t));
    msg_p->rs_obj00_x_acc_absolute = 0;
    msg_p->rs_obj00_y_acc_absolute = 0;
    msg_p->rs_obj00_ctrk_ind = 0;
    msg_p->rs_obj00_x_vel_absolute = 0;
    msg_p->rs_obj00_y_vel_absolute = 0;

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_acc_absolute_encode(double value)
{
    return (uint8_t)((value - -25.6) / 0.2);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_acc_absolute_decode(uint8_t value)
{
    return (((double)value * 0.2) + -25.6);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_acc_absolute_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_heading_encode(double value)
{
    return (int8_t)((value - 0.049087) / 0.049087);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_heading_decode(int8_t value)
{
    return (((double)value * 0.049087) + 0.049087);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_heading_is_in_range(int8_t value)
{
    return ((value >= -64) && (value <= 63));
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_ctrk_ind_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_ctrk_ind_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_ctrk_ind_is_in_range(uint8_t value)
{
    return (value <= 1u);
}

uint16_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_x_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint16_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_vel_absolute_encode(double value)
{
    return (uint16_t)((value - -102.4) / 0.1);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_vel_absolute_decode(uint16_t value)
{
    return (((double)value * 0.1) + -102.4);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_y_vel_absolute_is_in_range(uint16_t value)
{
    return (value <= 2047u);
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_classconf_encode(double value)
{
    return (uint8_t)(value / 1.5873);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_classconf_decode(uint8_t value)
{
    return ((double)value * 1.5873);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_classconf_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part02_fl_rs_obj00_msg02_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}

int mc1_cr_rs_obj_00_part03_fl_pack(
    uint8_t *dst_p,
    const struct mc1_cr_rs_obj_00_part03_fl_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p[0], 0, 8);

    dst_p[0] |= pack_left_shift_u8(src_p->rs_obj00_x_pos_stdev, 2u, 0xfcu);
    dst_p[1] |= pack_left_shift_u8(src_p->rs_obj00_y_pos_stdev, 2u, 0xfcu);
    dst_p[2] |= pack_left_shift_u8(src_p->rs_obj00_x_vel_rel_stdev, 2u, 0xfcu);
    dst_p[3] |= pack_left_shift_u8(src_p->rs_obj00_y_vel_rel_stdev, 2u, 0xfcu);
    dst_p[4] |= pack_left_shift_u8(src_p->rs_obj00_x_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_left_shift_u8(src_p->rs_obj00_y_acc_rel_stdev, 2u, 0xfcu);
    dst_p[5] |= pack_right_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0x03u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_exst_prob, 4u, 0xf0u);
    dst_p[6] |= pack_left_shift_u8(src_p->rs_obj00_msg03_alive_counter, 0u, 0x0fu);
    dst_p[7] |= pack_left_shift_u8(src_p->rs_obj00_msg03_check_sum, 0u, 0xffu);

    return (8);
}

int mc1_cr_rs_obj_00_part03_fl_unpack(
    struct mc1_cr_rs_obj_00_part03_fl_t *dst_p,
    const uint8_t *src_p,
    size_t size)
{
    if (size < 8u) {
        return (-EINVAL);
    }

    dst_p->rs_obj00_x_pos_stdev = unpack_right_shift_u8(src_p[0], 2u, 0xfcu);
    dst_p->rs_obj00_y_pos_stdev = unpack_right_shift_u8(src_p[1], 2u, 0xfcu);
    dst_p->rs_obj00_x_vel_rel_stdev = unpack_right_shift_u8(src_p[2], 2u, 0xfcu);
    dst_p->rs_obj00_y_vel_rel_stdev = unpack_right_shift_u8(src_p[3], 2u, 0xfcu);
    dst_p->rs_obj00_x_acc_rel_stdev = unpack_right_shift_u8(src_p[4], 2u, 0xfcu);
    dst_p->rs_obj00_y_acc_rel_stdev = unpack_right_shift_u8(src_p[5], 2u, 0xfcu);
    dst_p->rs_obj00_exst_prob = unpack_left_shift_u8(src_p[5], 4u, 0x03u);
    dst_p->rs_obj00_exst_prob |= unpack_right_shift_u8(src_p[6], 4u, 0xf0u);
    dst_p->rs_obj00_msg03_alive_counter = unpack_right_shift_u8(src_p[6], 0u, 0x0fu);
    dst_p->rs_obj00_msg03_check_sum = unpack_right_shift_u8(src_p[7], 0u, 0xffu);

    return (0);
}

int mc1_cr_rs_obj_00_part03_fl_init(struct mc1_cr_rs_obj_00_part03_fl_t *msg_p)
{
    if (msg_p == NULL) return -1;

    memset(msg_p, 0, sizeof(struct mc1_cr_rs_obj_00_part03_fl_t));

    return 0;
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_pos_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_pos_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_pos_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_vel_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_vel_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_vel_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_x_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_acc_rel_stdev_encode(double value)
{
    return (uint8_t)(value / 0.2);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_acc_rel_stdev_decode(uint8_t value)
{
    return ((double)value * 0.2);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_y_acc_rel_stdev_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_exst_prob_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_exst_prob_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_exst_prob_is_in_range(uint8_t value)
{
    return (value <= 63u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_alive_counter_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_alive_counter_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_alive_counter_is_in_range(uint8_t value)
{
    return (value <= 15u);
}

uint8_t mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_check_sum_encode(double value)
{
    return (uint8_t)(value);
}

double mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_check_sum_decode(uint8_t value)
{
    return ((double)value);
}

bool mc1_cr_rs_obj_00_part03_fl_rs_obj00_msg03_check_sum_is_in_range(uint8_t value)
{
    (void)value;

    return (true);
}
